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.JButton
buttonEnergyInput
DOCUMENT ME!private javax.swing.JCheckBox
choiceCheckBox
DOCUMENT ME!private java.lang.String
gmDirectory
DOCUMENT ME!private java.lang.String
gmFileName
DOCUMENT ME!private ModelImage
gmImage
DOCUMENT ME!private javax.swing.JTextField
gmTextFile
DOCUMENT ME!private ModelImage
image
DOCUMENT ME!private javax.swing.JLabel
labelCorrected
DOCUMENT ME!private javax.swing.JLabel
labelGaussX
DOCUMENT ME!private javax.swing.JLabel
labelGaussY
DOCUMENT ME!private javax.swing.JLabel
labelGaussZ
DOCUMENT ME!private float
normFactor
DOCUMENT ME!private javax.swing.JCheckBox
resolutionCheckbox
difference between x,y resolutions (in plane) and z resolution (between planes).private ModelImage
resultImage
DOCUMENT ME!private float
scaleX
DOCUMENT ME!private float
scaleY
DOCUMENT ME!private float
scaleZ
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.private javax.swing.JTextField
textGaussX
DOCUMENT ME!private javax.swing.JTextField
textGaussY
DOCUMENT ME!private javax.swing.JTextField
textGaussZ
DOCUMENT ME!private java.lang.String[]
titles
DOCUMENT ME!private ViewUserInterface
userInterface
DOCUMENT ME!private AlgorithmWatershed
watershedAlgo
DOCUMENT 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 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.void
callAlgorithm()
DOCUMENT ME!private boolean
compareDimensions(ModelImage im1, ModelImage im2)
Compares the dimensionality of two images.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).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.void
focusLost(java.awt.event.FocusEvent event)
When the user clicks the mouse out of a text field, resets the neccessary variables.ModelImage
getResultImage()
Accessor that returns the image.private void
init()
Sets up GUI components and displays dialog.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.protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.private boolean
setVariables()
DOCUMENT ME!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, 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:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in 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:
algorithmPerformed
in interfaceAlgorithmInterface
- Parameters:
algorithm
- Algorithm that caused the event.
-
callAlgorithm
public void callAlgorithm()
DOCUMENT ME!- Specified by:
callAlgorithm
in 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:
focusLost
in interfacejava.awt.event.FocusListener
- Overrides:
focusLost
in 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:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in 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:
doPostAlgorithmActions
in classJDialogScriptableBase
-
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
-
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.
-
compareDimensions
private boolean compareDimensions(ModelImage im1, ModelImage im2)
Compares the dimensionality of two images.- Parameters:
im1
- First imageim2
- Second image- Returns:
true
if 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!
-
-