Class JDialogExtractBrain

    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private float aboveMedian
      The factor above which second stage edge erosion occurs.
      private WildMagic.LibFoundation.Mathematics.Vector3f centerOfMass
      The volume's center of mass computed from computeCenter(ModelImage, int, boolean)
      private int depth
      The maximum depth within the brain's surface to sample image intensities, by default set to 5.
      private javax.swing.JTextField depthTF
      Field for entering the maximum depth.
      private javax.swing.JLabel erosionLabel
      Label for the percentage entered for second stage edge erosion.
      private javax.swing.JTextField erosionTF
      Defines the allowable percentage for edge intensity values ub second stage edge erosion, default is 50 percent.
      private AlgorithmBrainExtractor extractBrainAlgo
      Algorithm used for brain extraction.
      private boolean extractToPaint
      When true, mask of extracted brain is painted over the source image.
      private javax.swing.JCheckBox extractToPaintCheckBox
      When checked, mask of extracted brain is painted over the source image.
      private ModelImage image
      Source image for extracting brain, default image is null.
      private float imageRatio
      Image influence ratio for controlling the sampling depth used to calculate intensity extrema, by default set to .1.
      private javax.swing.JTextField imageRatioTF
      Field for entering the image influence ratio.
      private WildMagic.LibFoundation.Mathematics.Vector3f initCenterPoint
      Either the volume's center of mass or a user indicated point depending on the value of useCenterOfMass.
      private float initCenterX
      Used to denote the brain's center of mass y-coordinate.
      private javax.swing.JLabel initCenterXLabel
      Label for the x-coordinate of the user-defined center.
      private javax.swing.JTextField initCenterXTF
      An optional field for denoting a desired initial x-corrdinate for the mesh.
      private float initCenterY
      Used to denote the brain's center of mass y-coordinate.
      private javax.swing.JLabel initCenterYLabel
      Label for the y-coordinate of the user-defined center.
      private javax.swing.JTextField initCenterYTF
      An optional field for denoting a desired initial y-corrdinate for the mesh.
      private float initCenterZ
      Used to denote the brain's center of mass y-coordinate.
      private javax.swing.JLabel initCenterZLabel
      Label for the z-coordinate of the user-defined center.
      private javax.swing.JTextField initCenterZTF
      An optional field for denoting a desired initial z-corrdinate for the mesh.
      private boolean justEllipse
      When true, image mask is set to the initial ellipsoid approximation of the brain calculated from the volume's center of mass.
      private javax.swing.JCheckBox justInitEllipsoidCheckbox
      When checked, justEllipse is set to true.
      private int nIterations
      Number of surface evolutions to perform, by default set to 500.
      private javax.swing.JTextField nIterationsTF
      Field for inputting the number of surface evolutions to perform.
      private int orientation
      Orientation value corresponding to not the value of AlgorithmBrainExtractor.SAT_COR
      private javax.swing.JCheckBox orientCheckbox
      When checked, denotes that the images orientation does not correspond to AlgorithmBrainExtractor.SAT_COR
      private javax.swing.JCheckBox secondStageCheckBox
      Initially unchecked, determined whether this algorithm performs secondStageErosion
      private boolean secondStageErosion
      When true, sets edge values which are greater than the median intensity by a user-defined factor of aboveMedian to zero.
      private static long serialVersionUID
      Use serialVersionUID for interoperability.
      private float stiffness
      Allows for variable motion of the mesh in the surface normal direction, default value of .15
      private javax.swing.JTextField stiffnessTF
      Field for specifing stiffness of the mesh.
      private java.lang.String[] titles
      DOCUMENT ME!
      private boolean useCenterOfMass
      By default true, parameter indicates that the center position of the brain should be calculated using JDialogExtractBrain.computeCenter(ModelImage, int, boolean)
      private javax.swing.JCheckBox useCenterOfMassCheckBox
      By default checked, yields a true value for useCenterOfMass
      private ViewUserInterface userInterface
      The user interface for this dialog box.
      private boolean useSphere
      When true estimates that boundary of the VOI by a sphere.
      private javax.swing.JCheckBox useSphereCheckbox
      Initially not checked, estimates the boundary by a sphere rather than an ellipse.
      • Fields inherited from class javax.swing.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      JDialogExtractBrain()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogExtractBrain​(java.awt.Frame theParentFrame, ModelImage im)
      Sets the appropriate variables.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Presently only the script function calls this method.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      protected void callAlgorithm()
      Calls the algorithm.
      static WildMagic.LibFoundation.Mathematics.Vector3f computeCenter​(ModelImage img, int orientation, boolean sphereFlag)
      Calculate the center of the sphere / ellipsoid.
      ParameterTable createInputParameters()
      Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in setGUIFromParams()).
      ParameterTable createOutputParameters()
      Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).
      ActionMetadata getActionMetadata()
      Return meta-information about this discoverable action for categorization and labeling purposes.
      java.lang.String getOutputImageName​(java.lang.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).
      static int histogramAnalysis​(int[] imgBuffer)
      Analyze the histogram of the 10-bit binned 3D MRI.
      private void init()
      Makes the GUI elements of the dialog.
      boolean isActionComplete()
      Returns whether the action has successfully completed its execution.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      Initial center position checkbox listener.
      void setAboveMedian​(float aboveMedian)
      Set the factor above the median at which second stage erosion occurs.
      void setExtractToPaint​(boolean extractToPaint)
      Sets whether or not to stop segmentation at paint.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setImageRatio​(float ratio)
      Sets the image influence ratio.
      void setIterations​(int nIter)
      Sets the number of iterations.
      void setJustEllipse​(boolean justEllipse)
      Accessor that sets whether of not initial ellipsoid result is displayed.
      void setMaxDepth​(int iMaxDepth)
      Set the maximum depth that is part of the image term in the surface evolution.
      void setOrientation​(int orient)
      Accessor that sets the orientation flag.
      void setSecondStageErosion​(boolean secondStageErosion)
      Sets whether or not the second stage performing edge erosion occurs.
      void setStiffness​(float fStiffness)
      Set the stiffness of the mesh that is part of the surface normal term in the surface evolution.
      void setUseSphere​(boolean useSphere)
      Sets whether or not to use only an estimate of sphere to nitialize the boundary evolution.
      private boolean setVariables()
      Use the GUI results to set up the variables needed to run the algorithm.
      protected void storeParamsFromGUI()
      Record the parameters just used to run this algorithm in a script.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • aboveMedian

        private float aboveMedian
        The factor above which second stage edge erosion occurs.
      • centerOfMass

        private WildMagic.LibFoundation.Mathematics.Vector3f centerOfMass
        The volume's center of mass computed from computeCenter(ModelImage, int, boolean)
      • depth

        private int depth
        The maximum depth within the brain's surface to sample image intensities, by default set to 5.
      • depthTF

        private javax.swing.JTextField depthTF
        Field for entering the maximum depth. The dialog box suggests a value between 3 - 19 and requires a value from 3 - 33.
      • erosionLabel

        private javax.swing.JLabel erosionLabel
        Label for the percentage entered for second stage edge erosion.
      • erosionTF

        private javax.swing.JTextField erosionTF
        Defines the allowable percentage for edge intensity values ub second stage edge erosion, default is 50 percent.
      • extractToPaint

        private boolean extractToPaint
        When true, mask of extracted brain is painted over the source image.
      • extractToPaintCheckBox

        private javax.swing.JCheckBox extractToPaintCheckBox
        When checked, mask of extracted brain is painted over the source image.
      • image

        private ModelImage image
        Source image for extracting brain, default image is null.
      • imageRatio

        private float imageRatio
        Image influence ratio for controlling the sampling depth used to calculate intensity extrema, by default set to .1.
      • imageRatioTF

        private javax.swing.JTextField imageRatioTF
        Field for entering the image influence ratio. The dialog box requires that a value from .01 - .51 be entered.
      • initCenterPoint

        private WildMagic.LibFoundation.Mathematics.Vector3f initCenterPoint
        Either the volume's center of mass or a user indicated point depending on the value of useCenterOfMass.
      • initCenterX

        private float initCenterX
        Used to denote the brain's center of mass y-coordinate. By default set to zero.
      • initCenterXLabel

        private javax.swing.JLabel initCenterXLabel
        Label for the x-coordinate of the user-defined center.
      • initCenterXTF

        private javax.swing.JTextField initCenterXTF
        An optional field for denoting a desired initial x-corrdinate for the mesh. Editable if and only if useCenterOfMass is set to false
      • initCenterY

        private float initCenterY
        Used to denote the brain's center of mass y-coordinate. By default set to zero.
      • initCenterYLabel

        private javax.swing.JLabel initCenterYLabel
        Label for the y-coordinate of the user-defined center.
      • initCenterYTF

        private javax.swing.JTextField initCenterYTF
        An optional field for denoting a desired initial y-corrdinate for the mesh. Editable if and only if useCenterOfMass is set to false
      • initCenterZ

        private float initCenterZ
        Used to denote the brain's center of mass y-coordinate. By default set to zero.
      • initCenterZLabel

        private javax.swing.JLabel initCenterZLabel
        Label for the z-coordinate of the user-defined center.
      • initCenterZTF

        private javax.swing.JTextField initCenterZTF
        An optional field for denoting a desired initial z-corrdinate for the mesh. Editable if and only if useCenterOfMass is set to false
      • justEllipse

        private boolean justEllipse
        When true, image mask is set to the initial ellipsoid approximation of the brain calculated from the volume's center of mass.
      • justInitEllipsoidCheckbox

        private javax.swing.JCheckBox justInitEllipsoidCheckbox
        When checked, justEllipse is set to true.
      • nIterations

        private int nIterations
        Number of surface evolutions to perform, by default set to 500.
      • nIterationsTF

        private javax.swing.JTextField nIterationsTF
        Field for inputting the number of surface evolutions to perform. This requests, but does not require, a value from 100 - 2000
      • orientation

        private int orientation
        Orientation value corresponding to not the value of AlgorithmBrainExtractor.SAT_COR
      • orientCheckbox

        private javax.swing.JCheckBox orientCheckbox
        When checked, denotes that the images orientation does not correspond to AlgorithmBrainExtractor.SAT_COR
      • secondStageCheckBox

        private javax.swing.JCheckBox secondStageCheckBox
        Initially unchecked, determined whether this algorithm performs secondStageErosion
      • secondStageErosion

        private boolean secondStageErosion
        When true, sets edge values which are greater than the median intensity by a user-defined factor of aboveMedian to zero.
      • stiffness

        private float stiffness
        Allows for variable motion of the mesh in the surface normal direction, default value of .15
      • stiffnessTF

        private javax.swing.JTextField stiffnessTF
        Field for specifing stiffness of the mesh. The dialog box suggests, but does not require that a value between .01 and .5 entered.
      • titles

        private java.lang.String[] titles
        DOCUMENT ME!
      • useCenterOfMass

        private boolean useCenterOfMass
        By default true, parameter indicates that the center position of the brain should be calculated using JDialogExtractBrain.computeCenter(ModelImage, int, boolean)
      • useCenterOfMassCheckBox

        private javax.swing.JCheckBox useCenterOfMassCheckBox
        By default checked, yields a true value for useCenterOfMass
      • userInterface

        private ViewUserInterface userInterface
        The user interface for this dialog box.
      • useSphere

        private boolean useSphere
        When true estimates that boundary of the VOI by a sphere.
      • useSphereCheckbox

        private javax.swing.JCheckBox useSphereCheckbox
        Initially not checked, estimates the boundary by a sphere rather than an ellipse.
    • Constructor Detail

      • JDialogExtractBrain

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

        public JDialogExtractBrain​(java.awt.Frame theParentFrame,
                                   ModelImage im)
        Sets the appropriate variables. Does not actually create a dialog that is visible because no user input is necessary at present.
        Parameters:
        theParentFrame - Parent frame.
        im - Source image.
    • Method Detail

      • computeCenter

        public static final WildMagic.LibFoundation.Mathematics.Vector3f computeCenter​(ModelImage img,
                                                                                       int orientation,
                                                                                       boolean sphereFlag)
        Calculate the center of the sphere / ellipsoid.
        Parameters:
        img - the image to get the center of
        orientation - the orientation of the image
        sphereFlag - whether to find the center for a sphere or an ellipsoid
        Returns:
        the starting center point
      • histogramAnalysis

        public static final int histogramAnalysis​(int[] imgBuffer)
        Analyze the histogram of the 10-bit binned 3D MRI. The function computes a minimum threshold, a maximum threshold, and a background threshold that are used in the image term of the surface evolution. A brightness threshold is also computed that is used for determining the initial ellipsoid that approximates the brain surface.
        Parameters:
        imgBuffer - image data buffer normalized to 0 - 1023
        Returns:
        the current background threshold, which may have been changed during the histogram analysis
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Presently only the script function calls this method. When the script sends this dialog the action command, this method calls run.
        Specified by:
        actionPerformed in interface java.awt.event.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 display the result image and/or clean up.
        Specified by:
        algorithmPerformed in interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        Initial center position checkbox listener.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        Parameters:
        event - checkbox event
      • setAboveMedian

        public void setAboveMedian​(float aboveMedian)
        Set the factor above the median at which second stage erosion occurs.
        Parameters:
        aboveMedian - DOCUMENT ME!
      • setExtractToPaint

        public void setExtractToPaint​(boolean extractToPaint)
        Sets whether or not to stop segmentation at paint.
        Parameters:
        extractToPaint - .
      • setImageRatio

        public void setImageRatio​(float ratio)
        Sets the image influence ratio.
        Parameters:
        ratio - the image influence ratio
      • setIterations

        public void setIterations​(int nIter)
        Sets the number of iterations.
        Parameters:
        nIter - the number of iterations to do
      • setJustEllipse

        public void setJustEllipse​(boolean justEllipse)
        Accessor that sets whether of not initial ellipsoid result is displayed.
        Parameters:
        justEllipse - DOCUMENT ME!
      • setMaxDepth

        public void setMaxDepth​(int iMaxDepth)
        Set the maximum depth that is part of the image term in the surface evolution.
        Parameters:
        iMaxDepth - the new maximum depth
      • setOrientation

        public void setOrientation​(int orient)
        Accessor that sets the orientation flag.
        Parameters:
        orient - DOCUMENT ME!
      • setSecondStageErosion

        public void setSecondStageErosion​(boolean secondStageErosion)
        Sets whether or not the second stage performing edge erosion occurs.
        Parameters:
        secondStageErosion - if true erode boundary to clean up some.
      • setStiffness

        public void setStiffness​(float fStiffness)
        Set the stiffness of the mesh that is part of the surface normal term in the surface evolution.
        Parameters:
        fStiffness - the new stiffness
      • setUseSphere

        public void setUseSphere​(boolean useSphere)
        Sets whether or not to use only an estimate of sphere to nitialize the boundary evolution.
        Parameters:
        useSphere - if true estimate boundary using sphere model. If false the initial boundary is estimated using an ellipsoid, which is more difficult and error prone.
      • 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
      • init

        private void init()
        Makes the GUI elements of the dialog. Not called at present because it is not necessary.
      • 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 java.lang.String getOutputImageName​(java.lang.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.