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 doubleblueValueprivate intclipModeDOCUMENT ME!private javax.swing.JComboBoxcomboBoxOperatorDOCUMENT ME!private javax.swing.ButtonGroupgroupDOCUMENT ME!private ModelImageimagesource image.private doubleimaginaryValueUsed as both imaginary value and blue valueprivate javax.swing.JPanelinputPanelDOCUMENT ME!private javax.swing.JLabellabelOperatorDOCUMENT ME!private javax.swing.JLabellabelValueUsed for single value, real part of complex, and red part of colorprivate javax.swing.JLabellabelValueBUsed for blue part of colorprivate javax.swing.JLabellabelValueIUsed for imaginary part of complex and green part of colorprivate AlgorithmImageMathmathAlgoDOCUMENT ME!private AlgorithmImageMath.OperatoropTypeDOCUMENT ME!private JPanelAlgorithmOutputOptionsoutputPanelDOCUMENT ME!private javax.swing.JRadioButtonradioClipDOCUMENT ME!private javax.swing.JRadioButtonradioFloatDOCUMENT ME!private javax.swing.JRadioButtonradioPromoteDOCUMENT ME!private doublerealValueDOCUMENT ME!private ModelImageresultImageresult image.private static longserialVersionUIDUse serialVersionUID for interoperability.private javax.swing.JTextFieldtextValueUsed for single value, real part of complex, and red part of colorprivate javax.swing.JTextFieldtextValueBUsed for blue part of colorprivate javax.swing.JTextFieldtextValueIUse for imaginary part of complex and green part of colorprivate java.lang.String[]titlesDOCUMENT ME!private booleanuseComplexDOCUMENT ME!private ViewUserInterfaceuserInterfaceDOCUMENT 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 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.protected voidcallAlgorithm()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 voiddoPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.voidfocusLost(java.awt.event.FocusEvent event)focusLost - when the user clicks the mouse out of a text field, resets the neccessary variables.java.lang.StringgetOpName(int opType)Return the correct extension for the new image based on the given opType.ModelImagegetResultImage()Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.voiditemStateChanged(java.awt.event.ItemEvent event)itemStateChanged - unchanged.voidsetBlueValue(double blueValue)voidsetClipMode(int n)Accessor that sets the clip mode.protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetImage(ModelImage image)voidsetImaginaryValue(double v)Accessor that sets the imaginaryValue or green value to be used when performing the algorithm.voidsetOperator(int n)Accessor that sets the operator type.voidsetRealValue(double v)Accessor that sets the realValue to be used when performing the algorithm.private booleansetVariables()Use the GUI results to set up the variables needed to run the algorithm.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
-
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:
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 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.
-
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:
focusLostin interfacejava.awt.event.FocusListener- Overrides:
focusLostin 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:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin 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:
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
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.
-
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:
trueif parameters set successfully,falseotherwise.
-
-