Class JDialogImageMath

All Implemented Interfaces:
AlgorithmInterface, ScriptableActionInterface, DialogDefaultsInterface, ActionListener, FocusListener, ItemListener, WindowListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class JDialogImageMath extends JDialogScriptableBase implements AlgorithmInterface
Dialog to get user input, then call the algorithm. The user has the option to generate a new image or replace the source image. In addition the user can indicate if you wishes to have the algorithm applied to whole image or to the VOI regions. In should be noted, that the algorithms are executed in their own thread.
Version:
0.1 Dec 21, 1999
Author:
Matthew J. McAuliffe, Ph.D.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Use serialVersionUID for interoperability.
      See Also:
    • clipMode

      private int clipMode
      DOCUMENT ME!
    • comboBoxOperator

      private JComboBox comboBoxOperator
      DOCUMENT ME!
    • group

      private ButtonGroup group
      DOCUMENT ME!
    • image

      private ModelImage image
      source image.
    • imaginaryValue

      private double imaginaryValue
      Used as both imaginary value and blue value
    • blueValue

      private double blueValue
    • inputPanel

      private JPanel inputPanel
      DOCUMENT ME!
    • labelOperator

      private JLabel labelOperator
      DOCUMENT ME!
    • labelValue

      private JLabel labelValue
      Used for single value, real part of complex, and red part of color
    • labelValueI

      private JLabel labelValueI
      Used for imaginary part of complex and green part of color
    • labelValueB

      private JLabel labelValueB
      Used for blue part of color
    • mathAlgo

      private AlgorithmImageMath mathAlgo
      DOCUMENT ME!
    • opType

      DOCUMENT ME!
    • outputPanel

      private JPanelAlgorithmOutputOptions outputPanel
      DOCUMENT ME!
    • radioClip

      private JRadioButton radioClip
      DOCUMENT ME!
    • radioPromote

      private JRadioButton radioPromote
      DOCUMENT ME!
    • radioFloat

      private JRadioButton radioFloat
      DOCUMENT ME!
    • realValue

      private double realValue
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      result image.
    • textValue

      private JTextField textValue
      Used for single value, real part of complex, and red part of color
    • textValueI

      private JTextField textValueI
      Use for imaginary part of complex and green part of color
    • textValueB

      private JTextField textValueB
      Used for blue part of color
    • titles

      private String[] titles
      DOCUMENT ME!
    • useComplex

      private boolean useComplex
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
  • Constructor Details

    • JDialogImageMath

      public JDialogImageMath()
      Empty constructor needed for dynamic instantiation (used during scripting).
    • JDialogImageMath

      public JDialogImageMath(Frame theParentFrame, ModelImage im)
      Creates new dialog.
      Parameters:
      theParentFrame - Parent frame
      im - Source image
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent event)
      Closes dialog box when the OK button is pressed and calls the algorithm.
      Specified by:
      actionPerformed in interface ActionListener
      Overrides:
      actionPerformed in class JDialogBase
      Parameters:
      event - event that triggers function
    • algorithmPerformed

      public void algorithmPerformed(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented. It is called by the algorithms when it has completed or failed to to complete, so that the dialog can be display the result image and/or clean up.
      Specified by:
      algorithmPerformed in interface AlgorithmInterface
      Parameters:
      algorithm - Algorithm that caused the event.
    • focusLost

      public void focusLost(FocusEvent event)
      focusLost - when the user clicks the mouse out of a text field, resets the neccessary variables.
      Specified by:
      focusLost in interface FocusListener
      Overrides:
      focusLost in class JDialogBase
      Parameters:
      event - event that triggers this function
    • getOpName

      public String getOpName(int opType)
      Return the correct extension for the new image based on the given opType.
      Parameters:
      op - - integer defining the math operation. These are defined in AlgorithmImageMath.
      Returns:
      string - the proper extension to append to the image name. For instance, for operator = AlgorithmImageMath.ADD the extension returned would be "_add".
    • getResultImage

      public ModelImage getResultImage()
      Accessor that returns the image.
      Returns:
      the result image
    • itemStateChanged

      public void itemStateChanged(ItemEvent event)
      itemStateChanged - unchanged.
      Specified by:
      itemStateChanged in interface ItemListener
      Overrides:
      itemStateChanged in class JDialogBase
      Parameters:
      event - DOCUMENT ME!
    • setClipMode

      public void setClipMode(int n)
      Accessor that sets the clip mode.
      Parameters:
      n - the clip mode to be used when performing the math algorithm
    • setImaginaryValue

      public void setImaginaryValue(double v)
      Accessor that sets the imaginaryValue or green value to be used when performing the algorithm.
      Parameters:
      v - realValue
    • setBlueValue

      public void setBlueValue(double blueValue)
    • setOperator

      public void setOperator(int n)
      Accessor that sets the operator type.
      Parameters:
      n - operator type
    • setRealValue

      public void setRealValue(double v)
      Accessor that sets the realValue to be used when performing the algorithm.
      Parameters:
      v - realValue
    • setImage

      public void setImage(ModelImage image)
    • callAlgorithm

      protected void callAlgorithm()
      Once all the necessary variables are set, call the Image Math algorithm based on what type of image this is and whether or not there is a separate destination image.
      Specified by:
      callAlgorithm in class JDialogScriptableBase
    • doPostAlgorithmActions

      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      Overrides:
      doPostAlgorithmActions in class JDialogScriptableBase
    • setGUIFromParams

      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      Specified by:
      setGUIFromParams in class JDialogScriptableBase
    • storeParamsFromGUI

      protected void storeParamsFromGUI() throws ParserException
      Record the parameters just used to run this algorithm in a script.
      Specified by:
      storeParamsFromGUI in class JDialogScriptableBase
      Throws:
      ParserException - If there is a problem creating/recording the new parameters.
    • init

      private void init()
      Sets up the GUI (panels, buttons, etc) and displays it on the screen.
    • setVariables

      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      Returns:
      true if parameters set successfully, false otherwise.