Class JDialogAnisotropicDiffusion

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

public class JDialogAnisotropicDiffusion extends JDialogScriptableBase implements AlgorithmInterface, ActionDiscovery, ScriptableActionInterface
Dialog to get user input, then call the algorithm. The user is able to control the degree of blurring in all dimensions and indicate if a correction factor be applied to the z-dimension to account for differing resolutions between the xy resolutions (intra-plane) and the z resolution (inter-plane). 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 Nov 17, 1998
Author:
Matthew J. McAuliffe, Ph.D.
See Also:
  • Field Details

    • serialVersionUID

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

      private AlgorithmAnisotropicDiffusion diffusionAlgo
      DOCUMENT ME!
    • image

      private ModelImage image
      Source image.
    • image25D

      private boolean image25D
      DOCUMENT ME!
    • image25DCheckbox

      private JCheckBox image25DCheckbox
      DOCUMENT ME!
    • iters

      private int iters
      DOCUMENT ME!
    • konst

      private float konst
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      Result image.
    • textIters

      private JTextField textIters
      DOCUMENT ME!
    • textK

      private JTextField textK
      DOCUMENT ME!
    • titles

      private String[] titles
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
    • sigmaPanel

      private JPanelSigmas sigmaPanel
    • outputPanel

      private JPanelAlgorithmOutputOptions outputPanel
  • Constructor Details

    • JDialogAnisotropicDiffusion

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

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

    • actionPerformed

      public void actionPerformed(ActionEvent event)
      Performs some error checking, then 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 method.
    • 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.
    • 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
    • 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
    • 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.
    • itemStateChanged

      public void itemStateChanged(ItemEvent event)
      Method to handle item events.
      Specified by:
      itemStateChanged in interface ItemListener
      Overrides:
      itemStateChanged in class JDialogBase
      Parameters:
      event - Event that caused the method to fire.
    • setImage25D

      public void setImage25D(boolean flag)
      Accessor that sets the slicing flag.
      Parameters:
      flag - true indicates slices should be blurred 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 10000).
    • setK

      public void setK(float k)
      Accessor that sets the k value.
      Parameters:
      k - Value to set k value to (should be between 1 and 100).
    • 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
    • init

      private void init()
      Initializes dialog by setting up components and placing them in dialog frame.
    • 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()
      Description copied from interface: ActionDiscovery
      Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in
      invalid reference
      #setGUIFromParams()
      ).
      Specified by:
      createInputParameters in interface ActionDiscovery
      Returns:
      A parameter table listing the inputs of this algorithm.
    • createOutputParameters

      public ParameterTable createOutputParameters()
      Description copied from interface: ActionDiscovery
      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)
      Description copied from interface: ActionDiscovery
      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()
      Description copied from interface: ActionDiscovery
      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.