Class JDialogKernelRegression

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

public class JDialogKernelRegression extends JDialogScriptableBase implements AlgorithmInterface, 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. Algorithms are executed in their own thread.
See Also:
  • Field Details

    • kernelRegressionAlgo

      private AlgorithmKernelRegression kernelRegressionAlgo
      DOCUMENT ME!
    • destinationGroup

      private ButtonGroup destinationGroup
      DOCUMENT ME!
    • destinationPanel

      private JPanel destinationPanel
      DOCUMENT ME!
    • displayLoc

      private int displayLoc
      DOCUMENT ME!
    • image

      private ModelImage image
      DOCUMENT ME!
    • image25D

      private boolean image25D
      DOCUMENT ME!
    • image25DCheckBox

      private JCheckBox image25DCheckBox
      DOCUMENT ME!
    • method

      private int method
    • labelInitialGlobal

      private JLabel labelInitialGlobal
    • textInitialGlobal

      private JTextField textInitialGlobal
    • initialGlobalSmoothing

      private float initialGlobalSmoothing
      0.8 for STEERING_KERNEL_SECOND_ORDER_L1_NORM
    • labelIterativeGlobal

      private JLabel labelIterativeGlobal
    • textIterativeGlobal

      private JTextField textIterativeGlobal
    • iterativeGlobalSmoothing

      private float iterativeGlobalSmoothing
      1.5 for STEERING_KERNEL_SECOND_ORDER_L1_NORM
    • labelIterativeGlobal2

      private JLabel labelIterativeGlobal2
    • textIterativeGlobal2

      private JTextField textIterativeGlobal2
    • iterativeGlobalSmoothing2

      private float iterativeGlobalSmoothing2
    • labelUpscale

      private JLabel labelUpscale
    • textUpscale

      private JTextField textUpscale
    • upscale

      private int upscale
      Upscaling factor
    • labelInitialKernel

      private JLabel labelInitialKernel
    • textInitialKernel

      private JTextField textInitialKernel
    • initialKernelSize

      private int initialKernelSize
    • labelIterativeKernel

      private JLabel labelIterativeKernel
    • textIterativeKernel

      private JTextField textIterativeKernel
    • iterativeKernelSize

      private int iterativeKernelSize
    • labelIterations

      private JLabel labelIterations
    • textIterations

      private JTextField textIterations
    • iterations

      private int iterations
      Total number of iterations
    • labelIterations2

      private JLabel labelIterations2
    • textIterations2

      private JTextField textIterations2
    • iterations2

      private int iterations2
      Iterations in skr2L1_regular for steepest descent method in L1 steering kernel regression in STEERING_KERNEL_SECOND_ORDER_L1_NORM.
    • labelWindowSize

      private JLabel labelWindowSize
    • textWindowSize

      private JTextField textWindowSize
    • windowSize

      private int windowSize
      Size of local orientation analysis window
    • labelLambda

      private JLabel labelLambda
    • textLambda

      private JTextField textLambda
    • lambda

      private float lambda
      Regularization for the elongation parameter
    • labelAlpha

      private JLabel labelAlpha
    • textAlpha

      private JTextField textAlpha
    • alpha

      private float alpha
      Structure sensitive parameter
    • methodGroup

      private ButtonGroup methodGroup
    • iterSteering2

      private JRadioButton iterSteering2
    • iterIrregular

      private JRadioButton iterIrregular
    • regSampled2Classic

      private JRadioButton regSampled2Classic
    • steering2L1Norm

      private JRadioButton steering2L1Norm
    • labelClassicStep

      private JLabel labelClassicStep
    • textClassicStep

      private JTextField textClassicStep
    • classicStepSize

      private float classicStepSize
    • labelSteeringStep

      private JLabel labelSteeringStep
    • textSteeringStep

      private JTextField textSteeringStep
    • steeringStepSize

      private float steeringStepSize
    • NaNCheckBox

      private JCheckBox NaNCheckBox
    • hasNaN

      private boolean hasNaN
    • infinityCheckBox

      private JCheckBox infinityCheckBox
    • hasInfinity

      private boolean hasInfinity
    • greaterEqualCheckBox

      private JCheckBox greaterEqualCheckBox
    • hasGreaterEqual

      private boolean hasGreaterEqual
    • textGreaterEqual

      private JTextField textGreaterEqual
    • greaterEqualValue

      private double greaterEqualValue
    • equalCheckBox

      private JCheckBox equalCheckBox
    • hasEqual

      private boolean hasEqual
    • textEqual

      private JTextField textEqual
    • equalValue

      private double equalValue
    • lesserEqualCheckBox

      private JCheckBox lesserEqualCheckBox
    • hasLesserEqual

      private boolean hasLesserEqual
    • textLesserEqual

      private JTextField textLesserEqual
    • lesserEqualValue

      private double lesserEqualValue
    • newImage

      private JRadioButton newImage
      DOCUMENT ME!
    • paramPanel

      private JPanel paramPanel
      DOCUMENT ME!
    • replaceImage

      private JRadioButton replaceImage
      DOCUMENT ME!
    • resultImage

      private ModelImage resultImage
      DOCUMENT ME!
    • titles

      private String[] titles
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
  • Constructor Details

    • JDialogKernelRegression

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

      public JDialogKernelRegression(Frame theParentFrame, ModelImage im)
      Creates a new JDialogKernelRegression 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, sets variables and calls 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.
    • 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.
    • setImage25D

      public void setImage25D(boolean image25D)
      Accessor that sets whether 3D images are 3D or 2.5D filtered.
      Parameters:
      image25D - true for 2.5D filtering
    • setMethod

      public void setMethod(int method)
      Parameters:
      method -
    • setInitialGlobalSmoothing

      public void setInitialGlobalSmoothing(float initialGlobalSmoothing)
      Parameters:
      initialGlobalSmoothing -
    • setIterativeGlobalSmoothing

      public void setIterativeGlobalSmoothing(float iterativeGlobalSmoothing)
      Parameters:
      iterativeGlobalSmoothing -
    • setIterativeGlobalSmoothing2

      public void setIterativeGlobalSmoothing2(float iterativeGlobalSmoothing2)
      Parameters:
      iterativeGlobalSmoothing2 -
    • setUpscale

      public void setUpscale(int upscale)
      Parameters:
      upscale -
    • setInitialKernelSize

      public void setInitialKernelSize(int initialKernelSize)
      Parameters:
      initialKernelSize -
    • setIterativeKernelSize

      public void setIterativeKernelSize(int iterativeKernelSize)
      Parameters:
      iterativeKernelSize -
    • setIterations

      public void setIterations(int iterations)
      Parameters:
      iterations -
    • setIterations2

      public void setIterations2(int iterations2)
      Parameters:
      iterations2 -
    • setWindowSize

      public void setWindowSize(int windowSize)
      Parameters:
      windowSize -
    • setLambda

      public void setLambda(float lambda)
      Parameters:
      lambda -
    • setAlpha

      public void setAlpha(float alpha)
      Parameters:
      alpha -
    • setClassicStepSize

      public void setClassicStepSize(float classicStepSize)
      Parameters:
      classicStepSize -
    • setSteeringStepSize

      public void setSteeringStepSize(float steeringStepSize)
      Parameters:
      steeringStepSize -
    • setHasNaN

      public void setHasNaN(boolean hasNaN)
      Parameters:
      hasNaN -
    • setHasInfinity

      public void setHasInfinity(boolean hasInfinity)
      Parameters:
      hasInfinity -
    • setHasGreaterEqual

      public void setHasGreaterEqual(boolean hasGreaterEqual)
      Parameters:
      hasGreaterEqual -
    • setGreaterEqualValue

      public void setGreaterEqualValue(double greaterEqualValue)
      Parameters:
      greaterEqualValue -
    • setHasEqual

      public void setHasEqual(boolean hasEqual)
      Parameters:
      hasEqual -
    • setEqualValue

      public void setEqualValue(double equalValue)
      Parameters:
      equalValue -
    • setHasLesserEqual

      public void setHasLesserEqual(boolean hasLesserEqual)
      Parameters:
      hasLesserEqual -
    • setLesserEqualValue

      public void setLesserEqualValue(double lesserEqualValue)
      Parameters:
      lesserEqualValue -
    • callAlgorithm

      protected void callAlgorithm()
      Once all the necessary variables are set, call the Kernel Regression 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()
      Initializes the GUI by creating the components, placing them in the dialog, and displaying them.
    • 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.