Class JDialogMedian

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

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 select having the algorithm applied to whole image or to the VOI regions. It should be noted that the algorithms are executed in their own thread.
Version:
1.0; 17 February 2000
See Also:
  • Field Details

    • serialVersionUID

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

      public static final int COMPONENT_FILTER
      DOCUMENT ME!
      See Also:
    • VECTOR_MAGNITUDE_FILTER

      public static final int VECTOR_MAGNITUDE_FILTER
      DOCUMENT ME!
      See Also:
    • VECTOR_DIRECTION_FILTER

      public static final int VECTOR_DIRECTION_FILTER
      DOCUMENT ME!
      See Also:
    • ADAPTIVE_TRUNCATED_VECTOR_MEDIAN_FILTER

      public static final int ADAPTIVE_TRUNCATED_VECTOR_MEDIAN_FILTER
      See Also:
    • STANDARD

      public static final int STANDARD
      See Also:
    • ADAPTIVE_SIZE

      public static final int ADAPTIVE_SIZE
      See Also:
    • TRUNCATED_MEDIAN

      public static final int TRUNCATED_MEDIAN
      See Also:
    • SYMMETRICAL_TRIANGULAR_FUZZY_TRUNCATED_MEDIAN

      public static final int SYMMETRICAL_TRIANGULAR_FUZZY_TRUNCATED_MEDIAN
      See Also:
    • typeGroup

      private ButtonGroup typeGroup
    • standardButton

      private JRadioButton standardButton
    • adaptiveButton

      private JRadioButton adaptiveButton
    • truncatedButton

      private JRadioButton truncatedButton
    • fuzzyTruncatedButton

      private JRadioButton fuzzyTruncatedButton
    • labelDelta

      private JLabel labelDelta
    • textDelta

      private JTextField textDelta
    • delta

      private float delta
    • blue

      private boolean blue
      DOCUMENT ME!
    • blueChannel

      private JCheckBox blueChannel
      DOCUMENT ME!
    • bySlice

      private JRadioButton bySlice
      DOCUMENT ME!
    • comboBoxKernelShape

      private JComboBox comboBoxKernelShape
      DOCUMENT ME!
    • comboBoxKernelSize

      private JComboBox comboBoxKernelSize
      DOCUMENT ME!
    • comboBoxMaximumSize

      private JComboBox comboBoxMaximumSize
      DOCUMENT ME!
    • componentButton

      private JRadioButton componentButton
      DOCUMENT ME!
    • filterType

      private int filterType
    • colorFilterType

      private int colorFilterType
      DOCUMENT ME!
    • green

      private boolean green
      DOCUMENT ME!
    • greenChannel

      private JCheckBox greenChannel
      DOCUMENT ME!
    • image

      private ModelImage image
      DOCUMENT ME!
    • image25D

      private boolean image25D
      false = apply algorithm only to VOI regions.
    • iters

      private int iters
      DOCUMENT ME!
    • kernelShape

      private int kernelShape
      DOCUMENT ME!
    • kernelSize

      private int kernelSize
      DOCUMENT ME!
    • labelMaximumSize

      private JLabel labelMaximumSize
      DOCUMENT ME!
    • labelSTDDeviation

      private JLabel labelSTDDeviation
      DOCUMENT ME!
    • maximumSize

      private int maximumSize
      DOCUMENT ME!
    • medianAlgo

      private AlgorithmMedian medianAlgo
      DOCUMENT ME!
    • outputPanel

      private JPanelAlgorithmOutputOptions outputPanel
      DOCUMENT ME!
    • red

      private boolean red
      DOCUMENT ME!
    • redChannel

      private JCheckBox redChannel
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      DOCUMENT ME!
    • stdDev

      private float stdDev
      DOCUMENT ME!
    • textNIter

      private JTextField textNIter
      DOCUMENT ME!
    • textSTDDeviation

      private JTextField textSTDDeviation
      DOCUMENT ME!
    • titles

      private String[] titles
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
    • vectorDirectionButton

      private JRadioButton vectorDirectionButton
      DOCUMENT ME!
    • vectorGroup

      private ButtonGroup vectorGroup
      DOCUMENT ME!
    • vectorMagnitudeButton

      private JRadioButton vectorMagnitudeButton
      DOCUMENT ME!
    • ATVMFButton

      private JRadioButton ATVMFButton
    • wholeVolume

      private JRadioButton wholeVolume
      DOCUMENT ME!
  • Constructor Details

    • JDialogMedian

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

      public JDialogMedian(Frame theParentFrame, ModelImage im)
      Creates a new JDialogMedian 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 algorithm 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.
    • getResultImage

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

      public void setFilterType(int filterType)
      Parameters:
      filterType -
    • setBlue

      public void setBlue(boolean flag)
      Accessor that sets the color flag.
      Parameters:
      flag - true indicates ARG image, blue.
    • setColorFilterType

      public void setColorFilterType(int colorFilterType)
      Accessor that sets if all colors are component filtered, vector magnitude filtered, vector direction filtered, or adaptive truncated vector median filtered.
      Parameters:
      colorFilterType - DOCUMENT ME!
    • setGreen

      public void setGreen(boolean flag)
      Accessor that sets the color flag.
      Parameters:
      flag - true indicates ARG image, green.
    • setImage25D

      public void setImage25D(boolean flag)
      Accessor that sets the slicing flag.
      Parameters:
      flag - true indicates slices should be processed independently.
    • setIters

      public void setIters(int num)
      Accessor that sets the number of iterations.
      Parameters:
      num - Value to set iterations to (should be between 1 and 20).
    • setKernelShape

      public void setKernelShape(int shape)
      Accessor that sets the kernel shape.
      Parameters:
      shape - Value to set size to (0 == square, 1 == cross).
    • setKernelSize

      public void setKernelSize(int size)
      Accessor that sets the kernel size.
      Parameters:
      size - Value to set size to (3 == 3x3, 5 == 5x5, etc.)
    • setMaximumSize

      public void setMaximumSize(int maximumSize)
      Accessor that sets the maximum size the kernel mask can be increased to when adaptive median filtering is used.
      Parameters:
      maximumSize - DOCUMENT ME!
    • setRed

      public void setRed(boolean flag)
      Accessor that sets the color flag.
      Parameters:
      flag - true indicates ARG image, red.
    • setStdDev

      public void setStdDev(float dev)
      Accessor that sets the standard deviation.
      Parameters:
      dev - Value to set the standard deviation to (should be between 0.0 and 9.9).
    • setDelta

      public void setDelta(float delta)
      Parameters:
      delta -
    • callAlgorithm

      protected void callAlgorithm()
      Once all the necessary variables are set, call the median 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.
    • buildKernelShapeComboBox

      private void buildKernelShapeComboBox(boolean singleSlices)
      Creates the combo-box that allows user to select the shape of the kernel (mask).
      Parameters:
      singleSlices - DOCUMENT ME!
    • buildKernelSizeComboBox

      private void buildKernelSizeComboBox(boolean singleSlices)
      Creates the combo-box that allows user to select the size of the kernel (mask).
      Parameters:
      singleSlices - DOCUMENT ME!
    • buildMaximumSizeComboBox

      private void buildMaximumSizeComboBox(boolean singleSlices)
      Creates the combo-box that allows user to select the maximum size of the kernel (mask) when adaptive median filtering is selected.
      Parameters:
      singleSlices - DOCUMENT ME!
    • determineKernelSize

      private void determineKernelSize()
      Associate one side of the kernel size with selectBox choice.
    • determineMaximumSize

      private void determineMaximumSize()
      Associate one side of the maximum kernel size with selectBox choice when adaptive median filtering is selected.
    • 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.
    • getActionMetadata

      public ActionMetadata getActionMetadata()
      Return meta-information about this discoverable action for categorization and labeling purposes.
      Specified by:
      getActionMetadata in interface ActionDiscovery
      Returns:
      Metadata for this action.
    • createInputParameters

      public ParameterTable createInputParameters()
      Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in setGUIFromParams()).
      Specified by:
      createInputParameters in interface ActionDiscovery
      Returns:
      A parameter table listing the inputs of this algorithm.
    • createOutputParameters

      public ParameterTable createOutputParameters()
      Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).
      Specified by:
      createOutputParameters in interface ActionDiscovery
      Returns:
      A parameter table listing the outputs of this algorithm.
    • getOutputImageName

      public String getOutputImageName(String imageParamName)
      Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).
      Specified by:
      getOutputImageName in interface ActionDiscovery
      Parameters:
      imageParamName - The output image parameter label for which to get the image name.
      Returns:
      The image name of the requested output image parameter label.
    • isActionComplete

      public boolean isActionComplete()
      Returns whether the action has successfully completed its execution.
      Specified by:
      isActionComplete in interface ActionDiscovery
      Returns:
      True, if the action is complete. False, if the action failed or is still running.