Class JDialogFrequencyFilter

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

public class JDialogFrequencyFilter extends JDialogScriptableBase implements AlgorithmInterface, ItemListener, ActionDiscovery, ScriptableActionInterface
Dialog to get user input, then call the algorithm. The user has the option to generate a new image or replace the source image. It should be noted that the algorithms are executed in their own threads.
Version:
1.0 Aug 24, 1999
Author:
Matthew J. McAuliffe, Ph.D.
See Also:
  • Field Details

    • serialVersionUID

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

      public static final int LOWPASS
      DOCUMENT ME!
      See Also:
    • HIGHPASS

      public static final int HIGHPASS
      DOCUMENT ME!
      See Also:
    • BANDPASS

      public static final int BANDPASS
      DOCUMENT ME!
      See Also:
    • BANDSTOP

      public static final int BANDSTOP
      DOCUMENT ME!
      See Also:
    • WINDOW

      public static final int WINDOW
      DOCUMENT ME!
      See Also:
    • GAUSSIAN

      public static final int GAUSSIAN
      DOCUMENT ME!
      See Also:
    • BUTTERWORTH

      public static final int BUTTERWORTH
      DOCUMENT ME!
      See Also:
    • CHEBYSHEV_TYPE_I

      public static final int CHEBYSHEV_TYPE_I
      See Also:
    • CHEBYSHEV_TYPE_II

      public static final int CHEBYSHEV_TYPE_II
      See Also:
    • ELLIPTIC

      public static final int ELLIPTIC
      See Also:
    • bandPass

      private JRadioButton bandPass
      DOCUMENT ME!
    • bandStop

      private JRadioButton bandStop
      DOCUMENT ME!
    • butterworthFilter

      private JRadioButton butterworthFilter
      DOCUMENT ME!
    • chebyshevIFilter

      private JRadioButton chebyshevIFilter
    • chebyshevIIFilter

      private JRadioButton chebyshevIIFilter
    • ellipticFilter

      private JRadioButton ellipticFilter
    • filterOrder

      private int filterOrder
      DOCUMENT ME!
    • constructionGroup

      private ButtonGroup constructionGroup
      DOCUMENT ME!
    • constructionMethod

      private int constructionMethod
      DOCUMENT ME!
    • constructionPanel

      private JPanel constructionPanel
      DOCUMENT ME!
    • destinationGroup

      private ButtonGroup destinationGroup
      DOCUMENT ME!
    • destinationPanel

      private JPanel destinationPanel
      DOCUMENT ME!
    • displayLoc

      private int displayLoc
      DOCUMENT ME!
    • filterPanel

      private JPanel filterPanel
      DOCUMENT ME!
    • filterType

      private int filterType
      DOCUMENT ME!
    • filterTypeGroup

      private ButtonGroup filterTypeGroup
      DOCUMENT ME!
    • freq1

      private double freq1
      DOCUMENT ME!
    • freq2

      private double freq2
      DOCUMENT ME!
    • FrequencyFilterAlgo

      private AlgorithmFrequencyFilter FrequencyFilterAlgo
      DOCUMENT ME!
    • FrequencyFilterColorAlgo

      private AlgorithmFrequencyFilterColor FrequencyFilterColorAlgo
    • gaussianFilter

      private JRadioButton gaussianFilter
      DOCUMENT ME!
    • highPass

      private JRadioButton highPass
      DOCUMENT ME!
    • image

      private ModelImage image
      DOCUMENT ME!
    • image25D

      private boolean image25D
      DOCUMENT ME!
    • image25DCheckbox

      private JCheckBox image25DCheckbox
      DOCUMENT ME!
    • imageCrop

      private boolean imageCrop
      DOCUMENT ME!
    • imageCropCheckbox

      private JCheckBox imageCropCheckbox
      DOCUMENT ME!
    • kernelDiameter

      private int kernelDiameter
      DOCUMENT ME!
    • labelF1

      private JLabel labelF1
      DOCUMENT ME!
    • labelF2

      private JLabel labelF2
      DOCUMENT ME!
    • labelKernelDiameter

      private JLabel labelKernelDiameter
      DOCUMENT ME!
    • labelOrder

      private JLabel labelOrder
      DOCUMENT ME!
    • labelEpsilon

      private JLabel labelEpsilon
    • labelRs

      private JLabel labelRs
    • lowPass

      private JRadioButton lowPass
      DOCUMENT ME!
    • mainPanel

      private JPanel mainPanel
      DOCUMENT ME!
    • newImage

      private JRadioButton newImage
      DOCUMENT ME!
    • replaceImage

      private JRadioButton replaceImage
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      DOCUMENT ME!
    • textF1

      private JTextField textF1
      DOCUMENT ME!
    • textF2

      private JTextField textF2
      DOCUMENT ME!
    • textKernelDiameter

      private JTextField textKernelDiameter
      DOCUMENT ME!
    • textOrder

      private JTextField textOrder
      DOCUMENT ME!
    • textEpsilon

      private JTextField textEpsilon
    • textRs

      private JTextField textRs
    • titles

      private String[] titles
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
    • windowFilter

      private JRadioButton windowFilter
      DOCUMENT ME!
    • epsilon

      private double epsilon
    • rs

      private double rs
    • onlyFrequencyFilter

      private boolean onlyFrequencyFilter
    • fltFmt

      private DecimalFormat fltFmt
  • Constructor Details

    • JDialogFrequencyFilter

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

      public JDialogFrequencyFilter(ModelImage im)
      Used primarily for the script to store variables and run the algorithm. No actual dialog will appear but the set up info and result image will be stored here.
      Parameters:
      im - Source image.
    • JDialogFrequencyFilter

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

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

      public void setfilterOrder(int order)
      Accessor that sets the butterworth order.
      Parameters:
      order - Value to set the butterworth order to.
    • setDiameter

      public void setDiameter(int diameter)
      Accessor that sets the kernel diameter.
      Parameters:
      diameter - Value to set the kernel diameter to.
    • 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.
    • setFilterType

      public void setFilterType(int type)
      Accessor that sets the filter type (LOWPASS, HIGHPASS, BANDPASS, BANDSTOP).
      Parameters:
      type - Value to set the filter type to.
    • setFreq1

      public void setFreq1(double scale)
      Accessor that sets the frequency 1 variable.
      Parameters:
      scale - Value to set frequency 1 to.
    • setFreq2

      public void setFreq2(double scale)
      Accessor that sets the frequency 2 variable.
      Parameters:
      scale - Value to set frequency 2 to.
    • setImage25D

      public void setImage25D(boolean image25D)
      Accessor that sets image25D for single slice processing.
      Parameters:
      image25D - DOCUMENT ME!
    • setImageCrop

      public void setImageCrop(boolean flag)
      Accessor that sets the image crop flag.
      Parameters:
      flag - true indicates image crop, false otherwise.
    • setMethod

      public void setMethod(int method)
      Accessor that sets the construction method (WINDOW, GAUSSIAN, BUTTERWORTH).
      Parameters:
      method - Value to set the construction method to.
    • setEpsilon

      public void setEpsilon(double epsilon)
      Parameters:
      epsilon -
    • setRs

      public void setRs(double rs)
    • callAlgorithm

      protected void callAlgorithm()
      Once all the necessary variables are set, call the Frequency Filter 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
    • callColorAlgorithm

      protected void callColorAlgorithm()
      Once all the necessary variables are set, call the Frequency Filter algorithm based on what type of image this is and whether or not there is a separate destination image.
    • 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.
    • 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.