Class JDialogThreshold

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

public class JDialogThreshold 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:
1.0 Nov 9, 1999
Author:
Matthew J. McAuliffe, Ph.D.
See Also:
  • Field Details

    • serialVersionUID

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

      private static final int DEFAULT
      DOCUMENT ME!
      See Also:
    • OTSU

      private static final int OTSU
      DOCUMENT ME!
      See Also:
    • MAX_ENT

      private static final int MAX_ENT
      DOCUMENT ME!
      See Also:
    • displayLoc

      private int displayLoc
      DOCUMENT ME!
    • fillValue

      private float fillValue
      DOCUMENT ME!
    • histogram

      private ModelHistogram histogram
      DOCUMENT ME!
    • image

      private ModelImage image
      DOCUMENT ME!
    • inverseCheckbox

      private JCheckBox inverseCheckbox
      DOCUMENT ME!
    • isInverse

      private boolean isInverse
      DOCUMENT ME!
    • labelThres2

      private JLabel labelThres2
      DOCUMENT ME!
    • maxEntCheckbox

      private JCheckBox maxEntCheckbox
      DOCUMENT ME!
    • min

      private float min
      DOCUMENT ME!
    • max

      private float max
      DOCUMENT ME!
    • newImage

      private JRadioButton newImage
      DOCUMENT ME!
    • otsuCheckbox

      private JCheckBox otsuCheckbox
      DOCUMENT ME!
    • outMax

      private double outMax
      DOCUMENT ME!
    • outMin

      private double outMin
      DOCUMENT ME!
    • outputBox

      private JComboBox outputBox
      Holds the choices for the outputType.
    • outputType

      private int outputType
      Same data-type, binary, or unsigned byte mask.
    • regionFlag

      private boolean regionFlag
      or if the source image is to be replaced.
    • replaceImage

      private JRadioButton replaceImage
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      DOCUMENT ME!
    • textFill

      private JTextField textFill
      DOCUMENT ME!
    • textThres1

      private JTextField textThres1
      DOCUMENT ME!
    • textThres2

      private JTextField textThres2
      DOCUMENT ME!
    • thres1

      private float thres1
      DOCUMENT ME!
    • thres2

      private float thres2
      DOCUMENT ME!
    • thresholdAlgo

      private AlgorithmThresholdDual thresholdAlgo
      DOCUMENT ME!
    • thresholdType

      private int thresholdType
      DOCUMENT ME!
    • titles

      private String[] titles
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
    • VOIRegions

      private JRadioButton VOIRegions
      DOCUMENT ME!
    • wholeImage

      private JRadioButton wholeImage
      DOCUMENT ME!
  • Constructor Details

    • JDialogThreshold

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

      public JDialogThreshold(Frame theParentFrame, ModelImage im)
      Creates a new JDialogThreshold object.
      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.
    • calcHistogram

      public void calcHistogram()
      DOCUMENT ME!
    • getResultImage

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

      public void itemStateChanged(ItemEvent event)
      Sets the fill value text box to enabled or disabled depending on if the binary checkbox is selected.
      Specified by:
      itemStateChanged in interface ItemListener
      Overrides:
      itemStateChanged in class JDialogBase
      Parameters:
      event - Event that cause the method to fire.
    • runFromLUTFrame

      public void runFromLUTFrame(ModelImage im, float lowerThres, float upperThres, float fillV, int output_type, boolean inverseFlag)
      Function for setting up/running the threshold algorithm from the ViewJFrameHistoLUT.
      Parameters:
      im - ModelImage image
      lowerThres - float lower threshold
      upperThres - float upper threshold
      fillV - float fill value
      output_type - output type: same, binary, unsigned byte mask
      inverseFlag - normal or inverse threshold
    • setDisplayLocNew

      public void setDisplayLocNew()
      Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.
    • setDisplayLocReplace

      public void setDisplayLocReplace()
      Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.
    • setFillValue

      public void setFillValue(float scale)
      Accessor that sets the fill value. Will not be used if writing out a binary image.
      Parameters:
      scale - Value to set fill value to.
    • setOutputType

      public void setOutputType(int output_type)
      Accessor that sets the output type.
      Parameters:
      output_type - 0 is normal, 1 is binary, 2 is unsigned byte mask
    • setRegionFlag

      public void setRegionFlag(boolean flag)
      Accessor that sets the region flag.
      Parameters:
      flag - true indicates the whole image is blurred, false indicates a region.
    • setThres1

      public void setThres1(float threshold)
      Accessor that sets the first threshold.
      Parameters:
      threshold - Value to set threshold to (between min and max of image).
    • setThres2

      public void setThres2(float threshold)
      Accessor that sets the second threshold.
      Parameters:
      threshold - Value to set threshold to (between min and max of image).
    • callAlgorithm

      protected void callAlgorithm()
      Once all the necessary variables are set, call the Gaussian Blur 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()
      Used to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table). Defaults to no action, override to actually have it do something.
      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.
    • getRangeString

      private String getRangeString(int imageType)
      DOCUMENT ME!
      Parameters:
      imageType - DOCUMENT ME!
      Returns:
      DOCUMENT ME!
    • 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.