Package gov.nih.mipav.view.dialogs
Class JDialogWatershed
- 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.JDialogWatershed
-
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,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 JDialogWatershed extends JDialogScriptableBase implements AlgorithmInterface
Dialog to get user input, then call the algorithm. The user is able to control the degree of blurring in all dimensions and indicate if a correction factor be applied to the z-dimension to account for differing resolutions between the xy resolutions (intra-plane) and the z resolution (inter-plane). The algorithms are executed in their own thread.- Version:
- 0.1 Nov 17, 1998
- Author:
- Matthew J. McAuliffe, Ph.D.
- See Also:
AlgorithmWatershed, Serialized Form
-
-
Nested Class Summary
-
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 javax.swing.JButtonbuttonEnergyInputDOCUMENT ME!private javax.swing.JCheckBoxchoiceCheckBoxDOCUMENT ME!private java.lang.StringgmDirectoryDOCUMENT ME!private java.lang.StringgmFileNameDOCUMENT ME!private ModelImagegmImageDOCUMENT ME!private javax.swing.JTextFieldgmTextFileDOCUMENT ME!private ModelImageimageDOCUMENT ME!private javax.swing.JLabellabelCorrectedDOCUMENT ME!private javax.swing.JLabellabelGaussXDOCUMENT ME!private javax.swing.JLabellabelGaussYDOCUMENT ME!private javax.swing.JLabellabelGaussZDOCUMENT ME!private floatnormFactorDOCUMENT ME!private javax.swing.JCheckBoxresolutionCheckboxdifference between x,y resolutions (in plane) and z resolution (between planes).private ModelImageresultImageDOCUMENT ME!private floatscaleXDOCUMENT ME!private floatscaleYDOCUMENT ME!private floatscaleZDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private javax.swing.JTextFieldtextGaussXDOCUMENT ME!private javax.swing.JTextFieldtextGaussYDOCUMENT ME!private javax.swing.JTextFieldtextGaussZDOCUMENT ME!private java.lang.String[]titlesDOCUMENT ME!private ViewUserInterfaceuserInterfaceDOCUMENT ME!private AlgorithmWatershedwatershedAlgoDOCUMENT ME!-
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 JDialogWatershed()Empty constructor for scripting.JDialogWatershed(javax.swing.JFrame theParentFrame, ModelImage im)Creates new watershed dialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.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.voidcallAlgorithm()DOCUMENT ME!private booleancompareDimensions(ModelImage im1, ModelImage im2)Compares the dimensionality of two images.protected voiddoPostAlgorithmActions()Used to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table).private voidfindEnergyFile()Tries to find the energy file that should have the name - sourceImageName_gm.xml and puts it into the text box and sets the use precalculated checkbox to true.voidfocusLost(java.awt.event.FocusEvent event)When the user clicks the mouse out of a text field, resets the neccessary variables.ModelImagegetResultImage()Accessor that returns the image.private voidinit()Sets up GUI components and displays dialog.voiditemStateChanged(java.awt.event.ItemEvent event)Changes value of corrected scale based on resolution checkbox; sets buttons to enabled or disabled based on choice checkbox.protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.private booleansetVariables()DOCUMENT ME!protected voidstoreParamsFromGUI()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, 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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
buttonEnergyInput
private javax.swing.JButton buttonEnergyInput
DOCUMENT ME!
-
choiceCheckBox
private javax.swing.JCheckBox choiceCheckBox
DOCUMENT ME!
-
gmDirectory
private java.lang.String gmDirectory
DOCUMENT ME!
-
gmFileName
private java.lang.String gmFileName
DOCUMENT ME!
-
gmImage
private ModelImage gmImage
DOCUMENT ME!
-
gmTextFile
private javax.swing.JTextField gmTextFile
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
labelCorrected
private javax.swing.JLabel labelCorrected
DOCUMENT ME!
-
labelGaussX
private javax.swing.JLabel labelGaussX
DOCUMENT ME!
-
labelGaussY
private javax.swing.JLabel labelGaussY
DOCUMENT ME!
-
labelGaussZ
private javax.swing.JLabel labelGaussZ
DOCUMENT ME!
-
normFactor
private float normFactor
DOCUMENT ME!
-
resolutionCheckbox
private javax.swing.JCheckBox resolutionCheckbox
difference between x,y resolutions (in plane) and z resolution (between planes).
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
scaleX
private float scaleX
DOCUMENT ME!
-
scaleY
private float scaleY
DOCUMENT ME!
-
scaleZ
private float scaleZ
DOCUMENT ME!
-
textGaussX
private javax.swing.JTextField textGaussX
DOCUMENT ME!
-
textGaussY
private javax.swing.JTextField textGaussY
DOCUMENT ME!
-
textGaussZ
private javax.swing.JTextField textGaussZ
DOCUMENT ME!
-
titles
private java.lang.String[] titles
DOCUMENT ME!
-
userInterface
private ViewUserInterface userInterface
DOCUMENT ME!
-
watershedAlgo
private AlgorithmWatershed watershedAlgo
DOCUMENT ME!
-
-
Constructor Detail
-
JDialogWatershed
public JDialogWatershed()
Empty constructor for scripting.
-
JDialogWatershed
public JDialogWatershed(javax.swing.JFrame theParentFrame, ModelImage im)Creates new watershed dialog.- Parameters:
theParentFrame- Parent frameim- 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:
actionPerformedin interfacejava.awt.event.ActionListener- Overrides:
actionPerformedin classJDialogBase- 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 algorithm when it has completed or failed to to complete, so that the dialog can display the result image and/or clean up.- Specified by:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- Algorithm that caused the event.
-
callAlgorithm
public void callAlgorithm()
DOCUMENT ME!- Specified by:
callAlgorithmin classJDialogScriptableBase
-
focusLost
public void focusLost(java.awt.event.FocusEvent event)
When the user clicks the mouse out of a text field, resets the neccessary variables.- Specified by:
focusLostin interfacejava.awt.event.FocusListener- Overrides:
focusLostin classJDialogBase- Parameters:
event- Event that triggers this function
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- The result image
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
Changes value of corrected scale based on resolution checkbox; sets buttons to enabled or disabled based on choice checkbox.- Specified by:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin classJDialogBase- Parameters:
event- Event that cause the method to fire
-
doPostAlgorithmActions
protected void doPostAlgorithmActions()
Used to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table). Defaults to no action, override to actually have it do something.- 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
protected void storeParamsFromGUI() throws ParserExceptionRecord 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.
-
compareDimensions
private boolean compareDimensions(ModelImage im1, ModelImage im2)
Compares the dimensionality of two images.- Parameters:
im1- First imageim2- Second image- Returns:
trueif images have the same dimensionality
-
findEnergyFile
private void findEnergyFile()
Tries to find the energy file that should have the name - sourceImageName_gm.xml and puts it into the text box and sets the use precalculated checkbox to true.
-
init
private void init()
Sets up GUI components and displays dialog.
-
setVariables
private boolean setVariables()
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
-