Package gov.nih.mipav.view.dialogs
Class JDialogFuzzyCMeans
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
gov.nih.mipav.view.dialogs.JDialogBase
gov.nih.mipav.view.dialogs.JDialogScriptableBase
gov.nih.mipav.view.dialogs.JDialogFuzzyCMeans
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,ActionDiscovery,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
public class JDialogFuzzyCMeans
extends JDialogScriptableBase
implements AlgorithmInterface, ActionDiscovery, ScriptableActionInterface
Dialog to get user input, then call the algorithm.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKActionNested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialogNested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityTypeNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDOCUMENT ME!private float[]DOCUMENT ME!private booleanDOCUMENT ME!private JCheckBoxDOCUMENT ME!private int[]DOCUMENT ME!private floatDOCUMENT ME!private AlgorithmFuzzyCMeansDOCUMENT ME!static final intDOCUMENT ME!private JRadioButtonDOCUMENT ME!static final intDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JRadioButtonDOCUMENT ME!private ModelImageDOCUMENT ME!private ButtonGroupDOCUMENT ME!private JPanelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private floatDOCUMENT ME!private booleanprivate JCheckBox calcGainFieldCheckbox;.private JPanelDOCUMENT ME!private intDOCUMENT ME!private floatDOCUMENT ME!private booleanDOCUMENT ME!private ModelImage[]DOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private ButtonGroupDOCUMENT ME!private JPanelDOCUMENT ME!private static final longUse serialVersionUID for interoperability.private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private floatDOCUMENT ME!private intDOCUMENT ME!private floatDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JRadioButtonDOCUMENT ME!Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
displayInNewFrame, isComplete, scriptParametersFields inherited from class gov.nih.mipav.view.dialogs.JDialogBase
applyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManagerFields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPEFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionEmpty constructor needed for dynamic instantiation (used during scripting).JDialogFuzzyCMeans(Frame theParentFrame, ModelImage im) Creates a new JDialogFuzzyCMeans object. -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(ActionEvent event) Closes dialog box when the OK button is pressed and calls the algorithm.voidalgorithmPerformed(AlgorithmBase algorithm) This method is required if the AlgorithmPerformed interface is implemented.protected voidOnce 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.Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()).Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).protected voidStore the result image in the script runner's image table now that the action execution is finished.Return meta-information about this discoverable action for categorization and labeling purposes.private booleanGets the minimum and maximum of each image and initializes the centroids dialog appropriately.static float[]getDefaultCentroids(ModelImage image, int nClasses, boolean regionFlag, BitSet regionMask, boolean cropBackground, float threshold) 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).Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.booleanReturns whether the action has successfully completed its execution.voidsetCentroids(float[] centroids) Accessor that sets the centroids.voidsetCrop(boolean flag) Accessor that sets the crop background flag.voidsetEndTol(float scale) Accessor that sets the end tol.protected voidSet the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetMaxIter(int max) Accessor that sets the max iterations.voidsetNClasses(int classes) Accessor that sets the number of classes.voidsetQ(float scale) Accessor that sets the q variable.voidsetRegionFlag(boolean flag) Accessor that sets the region flag.voidsetSegmentationType(int type) Accessor that sets the segmentation type (BOTH_FUZZY_HARD, FUZZY, or HARD).voidsetThreshold(float scale) Accessor that sets the threshold.private booleanUse the GUI results to set up the variables needed to run the algorithm.protected voidRecord the parameters just used to run this algorithm in a script.Methods inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
getDialogActionString, insertScriptLine, isComplete, scriptRun, setCompleteMethods inherited from class gov.nih.mipav.view.dialogs.JDialogBase
buildApplyButton, buildButtons, buildCancelButton, buildCancelButton, buildCloseButton, buildHelpButton, buildImageComboBox, buildOKButton, buildOKButton, buildOKCancelButtons, buildTitledBorder, buildTitledBorder, createLabel, createProgressBar, createProgressBar, createTextField, focusGained, focusLost, getDialogName, isCancelled, isQuietRunning, isRunInSeparateThread, isScriptRunning, itemStateChanged, loadDefaults, loadDefaults, makeImageName, makeString, openNewFrame, saveDefaults, saveDefaults, setLeftHandSystem, setQuietRunning, setScriptRunning, setSeparateThread, setVisible, setVisible, setVisibleMenuBar, setVisibleStandard, setVOIManager, setWCSystem, testParameter, testParameterMin, updateFFTFileInfo, updateFileInfo, updateFileInfoOtherModality, updateFileInfoStatic, updateFileInfoStatic, updateFileTypeInfo, updateFileTypeInfo, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpenedMethods 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, updateMethods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBackMethods 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, toFrontMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscovery
scriptRunMethods inherited from interface gov.nih.mipav.model.scripting.ScriptableActionInterface
insertScriptLine, scriptRun
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
BOTH_FUZZY_HARD
public static final int BOTH_FUZZY_HARDDOCUMENT ME!- See Also:
-
FUZZY_ONLY
public static final int FUZZY_ONLYDOCUMENT ME!- See Also:
-
HARD_ONLY
public static final int HARD_ONLYDOCUMENT ME!- See Also:
-
centroids
private float[] centroidsDOCUMENT ME! -
cropBackground
private boolean cropBackgroundDOCUMENT ME! -
cropCheckbox
DOCUMENT ME! -
destExtents
private int[] destExtentsDOCUMENT ME! -
endTol
private float endTolDOCUMENT ME! -
fcmAlgo
DOCUMENT ME! -
fuzzyOnly
DOCUMENT ME! -
hardFuzzyBoth
DOCUMENT ME! -
hardOnly
DOCUMENT ME! -
image
DOCUMENT ME! -
imageVOIGroup
DOCUMENT ME! -
imageVOIPanel
DOCUMENT ME! -
labelEndTol
DOCUMENT ME! -
labelExpo
DOCUMENT ME! -
labelMaxIter
DOCUMENT ME! -
labelNClasses
DOCUMENT ME! -
labelSignal
DOCUMENT ME! -
maxIter
private int maxIterDOCUMENT ME! -
nClasses
private int nClassesDOCUMENT ME! -
nPyramid
private int nPyramidDOCUMENT ME! -
oneJacobiIter
private int oneJacobiIterDOCUMENT ME! -
oneSmooth
private float oneSmoothDOCUMENT ME! -
outputGainField
private boolean outputGainFieldprivate JCheckBox calcGainFieldCheckbox;. -
paramPanel
DOCUMENT ME! -
presentNumber
private int presentNumberDOCUMENT ME! -
q
private float qDOCUMENT ME! -
regionFlag
private boolean regionFlagDOCUMENT ME! -
resultImage
DOCUMENT ME! -
resultNumber
private int resultNumberDOCUMENT ME! -
segmentation
private int segmentationDOCUMENT ME! -
segmentationGroup
DOCUMENT ME! -
segmentationPanel
DOCUMENT ME! -
textEndTol
DOCUMENT ME! -
textExpo
DOCUMENT ME! -
textMaxIter
DOCUMENT ME! -
textNClasses
DOCUMENT ME! -
textSignal
DOCUMENT ME! -
threshold
private float thresholdDOCUMENT ME! -
twoJacobiIter
private int twoJacobiIterDOCUMENT ME! -
twoSmooth
private float twoSmoothDOCUMENT ME! -
VOIRegions
DOCUMENT ME! -
wholeImage
DOCUMENT ME!
-
-
Constructor Details
-
JDialogFuzzyCMeans
public JDialogFuzzyCMeans()Empty constructor needed for dynamic instantiation (used during scripting). -
JDialogFuzzyCMeans
Creates a new JDialogFuzzyCMeans object.- Parameters:
theParentFrame- parent frameim- source image
-
-
Method Details
-
actionPerformed
Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classJDialogBase- Parameters:
event- Event that triggers function.
-
algorithmPerformed
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:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- Algorithm that caused the event.
-
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-trueindicates crop the background,falseotherwise.
-
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-trueindicates the whole image is blurred,falseindicates 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:
callAlgorithmin classJDialogScriptableBase
-
doPostAlgorithmActions
protected void doPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.- Overrides:
doPostAlgorithmActionsin classJDialogScriptableBase
-
setGUIFromParams
protected void setGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.- Specified by:
setGUIFromParamsin classJDialogScriptableBase
-
storeParamsFromGUI
Record the parameters just used to run this algorithm in a script.- Specified by:
storeParamsFromGUIin classJDialogScriptableBase- Throws:
ParserException- If there is a problem creating/recording the new parameters.
-
getDefaultCentroids
public static float[] getDefaultCentroids(ModelImage image, int nClasses, boolean regionFlag, 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:
trueif parameters set successfully,falseotherwise.
-
getActionMetadata
Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
getActionMetadatain interfaceActionDiscovery- Returns:
- Metadata for this action.
-
createInputParameters
Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()).- Specified by:
createInputParametersin interfaceActionDiscovery- Returns:
- A parameter table listing the inputs of this algorithm.
-
createOutputParameters
Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).- Specified by:
createOutputParametersin interfaceActionDiscovery- Returns:
- A parameter table listing the outputs of this algorithm.
-
getOutputImageName
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:
getOutputImageNamein interfaceActionDiscovery- 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:
isActionCompletein interfaceActionDiscovery- Returns:
- True, if the action is complete. False, if the action failed or is still running.
-