Class JDialogFuzzyCMeans

    • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      JDialogFuzzyCMeans()
      Empty constructor needed for dynamic instantiation (used during scripting).
      JDialogFuzzyCMeans​(java.awt.Frame theParentFrame, ModelImage im)
      Creates a new JDialogFuzzyCMeans object.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Closes dialog box when the OK button is pressed and calls the algorithm.
      void algorithmPerformed​(AlgorithmBase algorithm)
      This method is required if the AlgorithmPerformed interface is implemented.
      protected void callAlgorithm()
      Once all the necessary variables are set, call the Fuzzy C Means algorithm based on what type of image this is and whether or not there is a separate destination image.
      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).
      protected void doPostAlgorithmActions()
      Store the result image in the script runner's image table now that the action execution is finished.
      ActionMetadata getActionMetadata()
      Return meta-information about this discoverable action for categorization and labeling purposes.
      private boolean getCentroids()
      Gets the minimum and maximum of each image and initializes the centroids dialog appropriately.
      static float[] getDefaultCentroids​(ModelImage image, int nClasses, boolean regionFlag, java.util.BitSet regionMask, boolean cropBackground, float threshold)  
      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).
      ModelImage[] getResultImage()
      Accessor that returns the image.
      private void init()
      Sets up the GUI (panels, buttons, etc) and displays it on the screen.
      boolean isActionComplete()
      Returns whether the action has successfully completed its execution.
      void setCentroids​(float[] centroids)
      Accessor that sets the centroids.
      void setCrop​(boolean flag)
      Accessor that sets the crop background flag.
      void setEndTol​(float scale)
      Accessor that sets the end tol.
      protected void setGUIFromParams()
      Set the dialog GUI using the script parameters while running this algorithm as part of a script.
      void setMaxIter​(int max)
      Accessor that sets the max iterations.
      void setNClasses​(int classes)
      Accessor that sets the number of classes.
      void setQ​(float scale)
      Accessor that sets the q variable.
      void setRegionFlag​(boolean flag)
      Accessor that sets the region flag.
      void setSegmentationType​(int type)
      Accessor that sets the segmentation type (BOTH_FUZZY_HARD, FUZZY, or HARD).
      void setThreshold​(float scale)
      Accessor that sets the threshold.
      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
      • centroids

        private float[] centroids
        DOCUMENT ME!
      • cropBackground

        private boolean cropBackground
        DOCUMENT ME!
      • cropCheckbox

        private javax.swing.JCheckBox cropCheckbox
        DOCUMENT ME!
      • destExtents

        private int[] destExtents
        DOCUMENT ME!
      • endTol

        private float endTol
        DOCUMENT ME!
      • fuzzyOnly

        private javax.swing.JRadioButton fuzzyOnly
        DOCUMENT ME!
      • hardFuzzyBoth

        private javax.swing.JRadioButton hardFuzzyBoth
        DOCUMENT ME!
      • hardOnly

        private javax.swing.JRadioButton hardOnly
        DOCUMENT ME!
      • imageVOIGroup

        private javax.swing.ButtonGroup imageVOIGroup
        DOCUMENT ME!
      • imageVOIPanel

        private javax.swing.JPanel imageVOIPanel
        DOCUMENT ME!
      • labelEndTol

        private javax.swing.JLabel labelEndTol
        DOCUMENT ME!
      • labelExpo

        private javax.swing.JLabel labelExpo
        DOCUMENT ME!
      • labelMaxIter

        private javax.swing.JLabel labelMaxIter
        DOCUMENT ME!
      • labelNClasses

        private javax.swing.JLabel labelNClasses
        DOCUMENT ME!
      • labelSignal

        private javax.swing.JLabel labelSignal
        DOCUMENT ME!
      • maxIter

        private int maxIter
        DOCUMENT ME!
      • nClasses

        private int nClasses
        DOCUMENT ME!
      • nPyramid

        private int nPyramid
        DOCUMENT ME!
      • oneJacobiIter

        private int oneJacobiIter
        DOCUMENT ME!
      • oneSmooth

        private float oneSmooth
        DOCUMENT ME!
      • outputGainField

        private boolean outputGainField
        private JCheckBox calcGainFieldCheckbox;.
      • paramPanel

        private javax.swing.JPanel paramPanel
        DOCUMENT ME!
      • presentNumber

        private int presentNumber
        DOCUMENT ME!
      • q

        private float q
        DOCUMENT ME!
      • regionFlag

        private boolean regionFlag
        DOCUMENT ME!
      • resultImage

        private ModelImage[] resultImage
        DOCUMENT ME!
      • resultNumber

        private int resultNumber
        DOCUMENT ME!
      • segmentation

        private int segmentation
        DOCUMENT ME!
      • segmentationGroup

        private javax.swing.ButtonGroup segmentationGroup
        DOCUMENT ME!
      • segmentationPanel

        private javax.swing.JPanel segmentationPanel
        DOCUMENT ME!
      • textEndTol

        private javax.swing.JTextField textEndTol
        DOCUMENT ME!
      • textExpo

        private javax.swing.JTextField textExpo
        DOCUMENT ME!
      • textMaxIter

        private javax.swing.JTextField textMaxIter
        DOCUMENT ME!
      • textNClasses

        private javax.swing.JTextField textNClasses
        DOCUMENT ME!
      • textSignal

        private javax.swing.JTextField textSignal
        DOCUMENT ME!
      • threshold

        private float threshold
        DOCUMENT ME!
      • twoJacobiIter

        private int twoJacobiIter
        DOCUMENT ME!
      • twoSmooth

        private float twoSmooth
        DOCUMENT ME!
      • VOIRegions

        private javax.swing.JRadioButton VOIRegions
        DOCUMENT ME!
      • wholeImage

        private javax.swing.JRadioButton wholeImage
        DOCUMENT ME!
    • Constructor Detail

      • JDialogFuzzyCMeans

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

        public JDialogFuzzyCMeans​(java.awt.Frame theParentFrame,
                                  ModelImage im)
        Creates a new JDialogFuzzyCMeans object.
        Parameters:
        theParentFrame - parent frame
        im - source image
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Closes dialog box when the OK button is pressed and calls the algorithm.
        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 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.
      • setCentroids

        public void setCentroids​(float[] centroids)
        Accessor that sets the centroids.
        Parameters:
        centroids - Value to set centroids to.
      • setCrop

        public void setCrop​(boolean flag)
        Accessor that sets the crop background flag.
        Parameters:
        flag - true indicates crop the background, false otherwise.
      • setEndTol

        public void setEndTol​(float scale)
        Accessor that sets the end tol.
        Parameters:
        scale - Value to set end tol to.
      • setMaxIter

        public void setMaxIter​(int max)
        Accessor that sets the max iterations.
        Parameters:
        max - The max iterations
      • setNClasses

        public void setNClasses​(int classes)
        Accessor that sets the number of classes.
        Parameters:
        classes - The number of classes.
      • setQ

        public void setQ​(float scale)
        Accessor that sets the q variable.
        Parameters:
        scale - Value to set q variable to.
      • setRegionFlag

        public void setRegionFlag​(boolean flag)
        Accessor that sets the region flag.
        Parameters:
        flag - true indicates the whole image is blurred, false indicates a region.
      • setSegmentationType

        public void setSegmentationType​(int type)
        Accessor that sets the segmentation type (BOTH_FUZZY_HARD, FUZZY, or HARD).
        Parameters:
        type - The segmentation type.
      • setThreshold

        public void setThreshold​(float scale)
        Accessor that sets the threshold.
        Parameters:
        scale - Value to set the threshold to.
      • callAlgorithm

        protected void callAlgorithm()
        Once all the necessary variables are set, call the Fuzzy C Means 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
      • getDefaultCentroids

        public static float[] getDefaultCentroids​(ModelImage image,
                                                  int nClasses,
                                                  boolean regionFlag,
                                                  java.util.BitSet regionMask,
                                                  boolean cropBackground,
                                                  float threshold)
      • getCentroids

        private boolean getCentroids()
        Gets the minimum and maximum of each image and initializes the centroids dialog appropriately.
        Returns:
        Flag indicating a successful get.
      • 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 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.