Package gov.nih.mipav.view.dialogs
Class JDialogImageMath
- 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.JDialogImageMath
-
- 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 JDialogImageMath extends JDialogScriptableBase implements AlgorithmInterface
Dialog to get user input, then call the algorithm. The user has the option to generate a new image or replace the source image. In addition the user can indicate if you wishes to have the algorithm applied to whole image or to the VOI regions. In should be noted, that the algorithms are executed in their own thread.- Version:
- 0.1 Dec 21, 1999
- Author:
- Matthew J. McAuliffe, Ph.D.
- See Also:
- 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 double
blueValue
private int
clipMode
DOCUMENT ME!private javax.swing.JComboBox
comboBoxOperator
DOCUMENT ME!private javax.swing.ButtonGroup
group
DOCUMENT ME!private ModelImage
image
source image.private double
imaginaryValue
Used as both imaginary value and blue valueprivate javax.swing.JPanel
inputPanel
DOCUMENT ME!private javax.swing.JLabel
labelOperator
DOCUMENT ME!private javax.swing.JLabel
labelValue
Used for single value, real part of complex, and red part of colorprivate javax.swing.JLabel
labelValueB
Used for blue part of colorprivate javax.swing.JLabel
labelValueI
Used for imaginary part of complex and green part of colorprivate AlgorithmImageMath
mathAlgo
DOCUMENT ME!private AlgorithmImageMath.Operator
opType
DOCUMENT ME!private JPanelAlgorithmOutputOptions
outputPanel
DOCUMENT ME!private javax.swing.JRadioButton
radioClip
DOCUMENT ME!private javax.swing.JRadioButton
radioFloat
DOCUMENT ME!private javax.swing.JRadioButton
radioPromote
DOCUMENT ME!private double
realValue
DOCUMENT ME!private ModelImage
resultImage
result image.private static long
serialVersionUID
Use serialVersionUID for interoperability.private javax.swing.JTextField
textValue
Used for single value, real part of complex, and red part of colorprivate javax.swing.JTextField
textValueB
Used for blue part of colorprivate javax.swing.JTextField
textValueI
Use for imaginary part of complex and green part of colorprivate java.lang.String[]
titles
DOCUMENT ME!private boolean
useComplex
DOCUMENT ME!private ViewUserInterface
userInterface
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 JDialogImageMath()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogImageMath(java.awt.Frame theParentFrame, ModelImage im)
Creates new 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.protected void
callAlgorithm()
Once all the necessary variables are set, call the Image Math algorithm based on what type of image this is and whether or not there is a separate destination image.protected void
doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.void
focusLost(java.awt.event.FocusEvent event)
focusLost - when the user clicks the mouse out of a text field, resets the neccessary variables.java.lang.String
getOpName(int opType)
Return the correct extension for the new image based on the given opType.ModelImage
getResultImage()
Accessor that returns the image.private void
init()
Sets up the GUI (panels, buttons, etc) and displays it on the screen.void
itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged - unchanged.void
setBlueValue(double blueValue)
void
setClipMode(int n)
Accessor that sets the clip mode.protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setImage(ModelImage image)
void
setImaginaryValue(double v)
Accessor that sets the imaginaryValue or green value to be used when performing the algorithm.void
setOperator(int n)
Accessor that sets the operator type.void
setRealValue(double v)
Accessor that sets the realValue to be used when performing the algorithm.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, 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
-
clipMode
private int clipMode
DOCUMENT ME!
-
comboBoxOperator
private javax.swing.JComboBox comboBoxOperator
DOCUMENT ME!
-
group
private javax.swing.ButtonGroup group
DOCUMENT ME!
-
image
private ModelImage image
source image.
-
imaginaryValue
private double imaginaryValue
Used as both imaginary value and blue value
-
blueValue
private double blueValue
-
inputPanel
private javax.swing.JPanel inputPanel
DOCUMENT ME!
-
labelOperator
private javax.swing.JLabel labelOperator
DOCUMENT ME!
-
labelValue
private javax.swing.JLabel labelValue
Used for single value, real part of complex, and red part of color
-
labelValueI
private javax.swing.JLabel labelValueI
Used for imaginary part of complex and green part of color
-
labelValueB
private javax.swing.JLabel labelValueB
Used for blue part of color
-
mathAlgo
private AlgorithmImageMath mathAlgo
DOCUMENT ME!
-
opType
private AlgorithmImageMath.Operator opType
DOCUMENT ME!
-
outputPanel
private JPanelAlgorithmOutputOptions outputPanel
DOCUMENT ME!
-
radioClip
private javax.swing.JRadioButton radioClip
DOCUMENT ME!
-
radioPromote
private javax.swing.JRadioButton radioPromote
DOCUMENT ME!
-
radioFloat
private javax.swing.JRadioButton radioFloat
DOCUMENT ME!
-
realValue
private double realValue
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
result image.
-
textValue
private javax.swing.JTextField textValue
Used for single value, real part of complex, and red part of color
-
textValueI
private javax.swing.JTextField textValueI
Use for imaginary part of complex and green part of color
-
textValueB
private javax.swing.JTextField textValueB
Used for blue part of color
-
titles
private java.lang.String[] titles
DOCUMENT ME!
-
useComplex
private boolean useComplex
DOCUMENT ME!
-
userInterface
private ViewUserInterface userInterface
DOCUMENT ME!
-
-
Constructor Detail
-
JDialogImageMath
public JDialogImageMath()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogImageMath
public JDialogImageMath(java.awt.Frame theParentFrame, ModelImage im)
Creates new 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 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.
-
focusLost
public void focusLost(java.awt.event.FocusEvent event)
focusLost - 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
-
getOpName
public java.lang.String getOpName(int opType)
Return the correct extension for the new image based on the given opType.- Parameters:
op
- - integer defining the math operation. These are defined in AlgorithmImageMath.- Returns:
- string - the proper extension to append to the image name. For instance, for operator = AlgorithmImageMath.ADD the extension returned would be "_add".
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- the result image
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
itemStateChanged - unchanged.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in classJDialogBase
- Parameters:
event
- DOCUMENT ME!
-
setClipMode
public void setClipMode(int n)
Accessor that sets the clip mode.- Parameters:
n
- the clip mode to be used when performing the math algorithm
-
setImaginaryValue
public void setImaginaryValue(double v)
Accessor that sets the imaginaryValue or green value to be used when performing the algorithm.- Parameters:
v
- realValue
-
setBlueValue
public void setBlueValue(double blueValue)
-
setOperator
public void setOperator(int n)
Accessor that sets the operator type.- Parameters:
n
- operator type
-
setRealValue
public void setRealValue(double v)
Accessor that sets the realValue to be used when performing the algorithm.- Parameters:
v
- realValue
-
setImage
public void setImage(ModelImage image)
-
callAlgorithm
protected void callAlgorithm()
Once all the necessary variables are set, call the Image Math algorithm based on what type of image this is and whether or not there is a separate destination image.- Specified by:
callAlgorithm
in classJDialogScriptableBase
-
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
-
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.
-
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.
-
-