Package gov.nih.mipav.view.dialogs
Class JDialogFuzzyConnectednessSegmentation
- 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.JDialogFuzzyConnectednessSegmentation
-
- All Implemented Interfaces:
AlgorithmInterface
,ScriptableActionInterface
,DialogDefaultsInterface
,ActionDiscovery
,java.awt.event.ActionListener
,java.awt.event.FocusListener
,java.awt.event.ItemListener
,java.awt.event.WindowListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class JDialogFuzzyConnectednessSegmentation extends JDialogScriptableBase implements AlgorithmInterface, ActionDiscovery
DOCUMENT ME!- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
JDialogFuzzyConnectednessSegmentation.labelIndexComparator
private class
JDialogFuzzyConnectednessSegmentation.labelIndexItem
-
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
-
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
-
-
Field Summary
Fields Modifier and Type Field Description private int
algo
Use serialVersionUID for interoperability.private javax.swing.ButtonGroup
algoGroup
static int
BOTH_FUZZY_HARD
DOCUMENT ME!private ViewJComponentEditImage
componentImage
private double
distanceDecline
private javax.swing.JTextField
distanceDeclineText
private AlgorithmFuzzyConnectednessSegmentation
fcsAlgo
DOCUMENT ME!static int
FUZZY_ONLY
DOCUMENT ME!private javax.swing.JRadioButton
fuzzyOnlyButton
private double
gradientWeight
private javax.swing.JTextField
gradientWeightText
static int
HARD_ONLY
DOCUMENT ME!private javax.swing.JRadioButton
hardFuzzyButton
private javax.swing.JRadioButton
hardOnlyButton
private boolean
haveOne
private boolean
haveTwo
private ModelImage
image
DOCUMENT ME!private javax.swing.JComboBox
imageComboBox
private java.util.Vector<java.lang.Short>
index_labels
private java.util.Vector<java.lang.Integer>
index_seeds
private int
L1Distance
private javax.swing.JTextField
L1DistanceText
private javax.swing.JButton
maskButton
private ModelImage
maskImage
private java.lang.String
maskName
private java.util.ArrayList<JDialogFuzzyConnectednessSegmentation.labelIndexItem>
pointList
private short
pointNum
private javax.swing.JButton
pointsButton
private int
presentvoiIndex
private ModelImage[]
resultImage
DOCUMENT ME!private int
resultNumber
DOCUMENT ME!private ViewUserInterface
UI
-
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
displayInNewFrame, isComplete, scriptParameters
-
Fields 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, voiManager
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JDialogFuzzyConnectednessSegmentation()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogFuzzyConnectednessSegmentation(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog for entering parameters for Power watershed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent event)
actionPerformed - 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.private javax.swing.JComboBox
buildComboBox(ModelImage image)
Builds a list of images.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 insetGUIFromParams()
).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.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
itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.void
setAlgo(int algo)
void
setDistanceDecline(double distanceDecline)
void
setGradientWeight(double gradientWeight)
protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setL1Distance(int L1Distance)
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 gov.nih.mipav.view.dialogs.JDialogScriptableBase
getDialogActionString, insertScriptLine, isComplete, scriptRun, setComplete
-
Methods 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, 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, windowOpened
-
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
-
Methods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscovery
scriptRun
-
-
-
-
Field Detail
-
BOTH_FUZZY_HARD
public static final int BOTH_FUZZY_HARD
DOCUMENT ME!- See Also:
- Constant Field Values
-
FUZZY_ONLY
public static final int FUZZY_ONLY
DOCUMENT ME!- See Also:
- Constant Field Values
-
HARD_ONLY
public static final int HARD_ONLY
DOCUMENT ME!- See Also:
- Constant Field Values
-
algo
private int algo
Use serialVersionUID for interoperability.
-
index_seeds
private final java.util.Vector<java.lang.Integer> index_seeds
-
index_labels
private final java.util.Vector<java.lang.Short> index_labels
-
algoGroup
private javax.swing.ButtonGroup algoGroup
-
hardOnlyButton
private javax.swing.JRadioButton hardOnlyButton
-
fuzzyOnlyButton
private javax.swing.JRadioButton fuzzyOnlyButton
-
hardFuzzyButton
private javax.swing.JRadioButton hardFuzzyButton
-
pointsButton
private javax.swing.JButton pointsButton
-
maskButton
private javax.swing.JButton maskButton
-
pointNum
private short pointNum
-
haveOne
private boolean haveOne
-
haveTwo
private boolean haveTwo
-
presentvoiIndex
private int presentvoiIndex
-
fcsAlgo
private AlgorithmFuzzyConnectednessSegmentation fcsAlgo
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
resultImage
private ModelImage[] resultImage
DOCUMENT ME!
-
resultNumber
private int resultNumber
DOCUMENT ME!
-
componentImage
private ViewJComponentEditImage componentImage
-
imageComboBox
private javax.swing.JComboBox imageComboBox
-
maskName
private java.lang.String maskName
-
maskImage
private ModelImage maskImage
-
UI
private final ViewUserInterface UI
-
pointList
private java.util.ArrayList<JDialogFuzzyConnectednessSegmentation.labelIndexItem> pointList
-
L1DistanceText
private javax.swing.JTextField L1DistanceText
-
L1Distance
private int L1Distance
-
distanceDeclineText
private javax.swing.JTextField distanceDeclineText
-
distanceDecline
private double distanceDecline
-
gradientWeightText
private javax.swing.JTextField gradientWeightText
-
gradientWeight
private double gradientWeight
-
-
Constructor Detail
-
JDialogFuzzyConnectednessSegmentation
public JDialogFuzzyConnectednessSegmentation()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogFuzzyConnectednessSegmentation
public JDialogFuzzyConnectednessSegmentation(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog for entering parameters for Power watershed.- Parameters:
theParentFrame
- Parent frameim
- Source image
-
-
Method Detail
-
storeParamsFromGUI
protected void storeParamsFromGUI() throws ParserException
Record the parameters just used to run this algorithm in a script.- Specified by:
storeParamsFromGUI
in classJDialogScriptableBase
- Throws:
ParserException
- If there is a problem creating/recording the new parameters.
-
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 classJDialogScriptableBase
-
getResultImage
public ModelImage[] getResultImage()
Accessor that returns the image.- Returns:
- The result image.
-
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 classJDialogScriptableBase
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
actionPerformed - Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in classJDialogBase
- Parameters:
event
- event that triggers function
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in classJDialogBase
- Parameters:
event
- DOCUMENT ME!
-
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 interfaceAlgorithmInterface
- Parameters:
algorithm
- Algorithm that caused the event.
-
setAlgo
public void setAlgo(int algo)
- Parameters:
algo
-
-
setL1Distance
public void setL1Distance(int L1Distance)
- Parameters:
L1Distance
-
-
setDistanceDecline
public void setDistanceDecline(double distanceDecline)
-
setGradientWeight
public void setGradientWeight(double gradientWeight)
-
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 classJDialogScriptableBase
-
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 interfaceActionDiscovery
- 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 insetGUIFromParams()
).- Specified by:
createInputParameters
in interfaceActionDiscovery
- 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 interfaceActionDiscovery
- 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 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:
isActionComplete
in interfaceActionDiscovery
- Returns:
- True, if the action is complete. False, if the action failed or is still running.
-
buildComboBox
private javax.swing.JComboBox buildComboBox(ModelImage image)
Builds a list of images. Returns combobox. List must be all color or all black and white.- Parameters:
image
- DOCUMENT ME!- Returns:
- Newly created combo box.
-
-