Package gov.nih.mipav.view.dialogs
Class JDialogMSFuzzyCMeans
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.JDialogMSFuzzyCMeans
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,ListSelectionListener,RootPaneContainer,WindowConstants
public class JDialogMSFuzzyCMeans
extends JDialogScriptableBase
implements AlgorithmInterface, ListSelectionListener
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 TypeFieldDescriptionprivate AlgorithmMSpectralFuzzyCMeansDOCUMENT ME!private float[]DOCUMENT ME!private booleanDOCUMENT ME!private JButtonDOCUMENT ME!private JPanelColorChannelsDOCUMENT ME!private booleanDOCUMENT ME!private JCheckBoxDOCUMENT ME!private int[]DOCUMENT ME!private floatDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JListDOCUMENT ME!private JPanelDOCUMENT ME!private ButtonGroupDOCUMENT ME!private JPanelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private intDOCUMENT ME!private DefaultListModelDOCUMENT 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 JButtonDOCUMENT ME!private intDOCUMENT 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 ModelImage[]DOCUMENT ME!private intDOCUMENT ME!private ModelImage[]DOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private float[]DOCUMENT ME!private intDOCUMENT ME!private floatDOCUMENT ME!private ViewUserInterfaceDOCUMENT 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).JDialogMSFuzzyCMeans(Frame theParentFrame, ModelImage im) Creates a new JDialogMSFuzzyCMeans 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.private booleancheckImage(ModelImage testImage) Checks the color and dimensionality of the new image vs. the original source image.protected voidStore the result image in the script runner's image table now that the action execution is finished.private booleanGets the minimum and maximum of each image and initializes the centroids dialog appropriately.private FileFiltergetFileFilter(JFileChooser chooser, int index) A private helper function to get the current used FileFilter from JFileChooser.Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.private ModelImageopen()Open an image based on the suffix of the file.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).voidsetSourceImage(ModelImage[] images) Accessor that sets the array of source images.voidsetThreshold(float[] threshold) 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.voidSets the remove index based on the selected index in the list.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, transferFocusUpCycle
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
afcmAlgo
DOCUMENT ME! -
centroids
private float[] centroidsDOCUMENT ME! -
changeRemoveIndex
private boolean changeRemoveIndexDOCUMENT ME! -
chooserButton
DOCUMENT ME! -
colorPanel
DOCUMENT ME! -
cropBackground
private boolean cropBackgroundDOCUMENT ME! -
cropCheckbox
DOCUMENT ME! -
destExtents
private int[] destExtentsDOCUMENT ME! -
endTol
private float endTolDOCUMENT ME! -
fuzzyOnly
DOCUMENT ME! -
hardFuzzyBoth
DOCUMENT ME! -
hardOnly
DOCUMENT ME! -
imageList
DOCUMENT ME! -
imagePanel
DOCUMENT ME! -
imageVOIGroup
DOCUMENT ME! -
imageVOIPanel
DOCUMENT ME! -
labelEndTol
DOCUMENT ME! -
labelExpo
DOCUMENT ME! -
labelMaxIter
DOCUMENT ME! -
labelNClasses
DOCUMENT ME! -
maxIter
private int maxIterDOCUMENT ME! -
model
DOCUMENT 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! -
removeButton
DOCUMENT ME! -
removeIndex
private int removeIndexDOCUMENT ME! -
resultImage
DOCUMENT ME! -
resultNumber
private int resultNumberDOCUMENT ME! -
segmentation
private int segmentationDOCUMENT ME! -
segmentationGroup
DOCUMENT ME! -
segmentationPanel
DOCUMENT ME! -
srcImage
DOCUMENT ME! -
srcNumber
private int srcNumberDOCUMENT ME! -
tempImage
DOCUMENT ME! -
textEndTol
DOCUMENT ME! -
textExpo
DOCUMENT ME! -
textMaxIter
DOCUMENT ME! -
textNClasses
DOCUMENT ME! -
threshold
private float[] thresholdDOCUMENT ME! -
twoJacobiIter
private int twoJacobiIterDOCUMENT ME! -
twoSmooth
private float twoSmoothDOCUMENT ME! -
userInterface
DOCUMENT ME! -
VOIRegions
DOCUMENT ME! -
wholeImage
DOCUMENT ME!
-
-
Constructor Details
-
JDialogMSFuzzyCMeans
public JDialogMSFuzzyCMeans()Empty constructor needed for dynamic instantiation (used during scripting). -
JDialogMSFuzzyCMeans
Creates a new JDialogMSFuzzyCMeans 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.
-
setSourceImage
Accessor that sets the array of source images.- Parameters:
images- new source images.
-
setThreshold
public void setThreshold(float[] threshold) Accessor that sets the threshold.- Parameters:
threshold- Value to set threshold to.
-
valueChanged
Sets the remove index based on the selected index in the list.- Specified by:
valueChangedin interfaceListSelectionListener- Parameters:
evt- Event that caused this method to fire.
-
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.
-
checkImage
Checks the color and dimensionality of the new image vs. the original source image. All new images should have the same color modality as the source and be of the same dimensions.- Parameters:
testImage- DOCUMENT ME!- Returns:
- Flag indicating if the image checks out.
-
getCentroidsThreshold
private boolean getCentroidsThreshold()Gets the minimum and maximum of each image and initializes the centroids dialog appropriately.- Returns:
- Flag indicating a successful get.
-
getFileFilter
A private helper function to get the current used FileFilter from JFileChooser.- Parameters:
chooser- DOCUMENT ME!index- the index of the choosable file filters.- Returns:
- the current used file filter.
-
init
private void init()Sets up the GUI (panels, buttons, etc) and displays it on the screen. -
open
Open an image based on the suffix of the file.- Returns:
- The image.
-
setVariables
private boolean setVariables()Use the GUI results to set up the variables needed to run the algorithm.- Returns:
trueif parameters set successfully,falseotherwise.
-