Class ScriptRunner


  • public class ScriptRunner
    extends java.lang.Object
    Executes a script with a set of images.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  ScriptRunner.ScriptThread
      A separate thread used to execute a given script (the image and voi table should already be set up before the thread is started).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected ImageVariableTable imageTable
      The table containing image-placeholder-to-image-name mappings for the script we want to run.
      protected boolean isRunning
      Indicates whether a script is currently being run by mipav.
      protected java.lang.String scriptFile
      The path to the script we want to execute.
      protected static ScriptRunner singletonReference
      The reference to the only occurrance of this class.
      protected VOITable voiTable
      The table containing VOIs to be used in the script.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ScriptRunner()
      Creates a new ScriptRunner object.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void fillImageTable​(java.util.Vector<java.lang.String> imageNameList)
      Populate the image table based on a list of image names we want to use in the execution of the script.
      ModelImage getImage​(java.lang.String imageVar)
      Retrieves an image from the image table being used by the current script we are running.
      ImageVariableTable getImageTable()
      Returns a reference to the image table being used to run the current script.
      static ScriptRunner getReference()
      Returns a reference to the script recorder.
      VOITable getVOITable()
      Returns a reference to the VOI table being used to run the current script.
      protected void handleParserException​(ParserException pe)
      Handle a script parser exception by printing out the location of the problem and stopping script execution.
      boolean isRunning()
      Returns whether we are currently running a script.
      boolean runScript​(java.lang.String file, java.util.Vector<java.lang.String> imageNameList, java.util.Vector<java.lang.String> voiPathList)
      Execute a script, using a set of images.
      void setImageTable​(ImageVariableTable table)
      Changes the image variable table for the current script execution.
      void setRunning​(boolean running)
      Changes the flag indicating whether a script is currently being run.
      java.lang.String storeImage​(java.lang.String imageName)
      Convenience method used to store the name of an image in the image table being used by the current script.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • singletonReference

        protected static ScriptRunner singletonReference
        The reference to the only occurrance of this class.
      • imageTable

        protected ImageVariableTable imageTable
        The table containing image-placeholder-to-image-name mappings for the script we want to run.
      • isRunning

        protected boolean isRunning
        Indicates whether a script is currently being run by mipav.
      • scriptFile

        protected java.lang.String scriptFile
        The path to the script we want to execute.
      • voiTable

        protected VOITable voiTable
        The table containing VOIs to be used in the script.
    • Constructor Detail

      • ScriptRunner

        protected ScriptRunner()
        Creates a new ScriptRunner object.
    • Method Detail

      • getReference

        public static final ScriptRunner getReference()
        Returns a reference to the script recorder.
        Returns:
        A reference to the script recorder.
      • getImage

        public ModelImage getImage​(java.lang.String imageVar)
        Retrieves an image from the image table being used by the current script we are running.
        Parameters:
        imageVar - The image placeholder variable associated with the image we want.
        Returns:
        The image associated with the given image variable.
      • getImageTable

        public ImageVariableTable getImageTable()
        Returns a reference to the image table being used to run the current script.
        Returns:
        The image table which should be used to run the current script, or null if no script is being run at the moment.
      • getVOITable

        public VOITable getVOITable()
        Returns a reference to the VOI table being used to run the current script.
        Returns:
        The VOI table which should be used to run the current script, or null if no script is being run at the moment.
      • isRunning

        public boolean isRunning()
        Returns whether we are currently running a script.
        Returns:
        True if a script is being run, false otherwise.
      • runScript

        public boolean runScript​(java.lang.String file,
                                 java.util.Vector<java.lang.String> imageNameList,
                                 java.util.Vector<java.lang.String> voiPathList)
        Execute a script, using a set of images.
        Parameters:
        file - The path to the script file we want to run.
        imageNameList - The list of the names of images to use while executing the script.
        voiPathList - A list of VOI paths, in the order returned by Parser.getImageVarsUsedInScript().
        Returns:
        True if execution of the script was successful, false otherwise.
      • storeImage

        public java.lang.String storeImage​(java.lang.String imageName)
        Convenience method used to store the name of an image in the image table being used by the current script.
        Parameters:
        imageName - The name of the image to store.
        Returns:
        The image variable placeholder which has been assigned to the image name (may not be a new variable if the name is already in the table).
      • fillImageTable

        protected void fillImageTable​(java.util.Vector<java.lang.String> imageNameList)
                               throws ParserException
        Populate the image table based on a list of image names we want to use in the execution of the script.
        Parameters:
        imageNameList - A list of image names, in the order they should be used in the script.
        Throws:
        ParserException - If there is a problem encountered while reading the image variables used in the script.
      • handleParserException

        protected void handleParserException​(ParserException pe)
        Handle a script parser exception by printing out the location of the problem and stopping script execution.
        Parameters:
        pe - The parser exception to handle.
      • setRunning

        public void setRunning​(boolean running)
        Changes the flag indicating whether a script is currently being run.
        Parameters:
        running - Whether we are running a script.
      • setImageTable

        public void setImageTable​(ImageVariableTable table)
        Changes the image variable table for the current script execution.
        Parameters:
        table - A new image variable table.