Package gov.nih.mipav.view.dialogs
Class JDialogThreshold
- 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.JDialogThreshold
-
- 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 JDialogThreshold 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:
- 1.0 Nov 9, 1999
- Author:
- Matthew J. McAuliffe, Ph.D.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classJDialogThreshold.CheckValueActionDOCUMENT ME!-
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 static intDEFAULTDOCUMENT ME!private intdisplayLocDOCUMENT ME!private floatfillValueDOCUMENT ME!private ModelHistogramhistogramDOCUMENT ME!private ModelImageimageDOCUMENT ME!private javax.swing.JCheckBoxinverseCheckboxDOCUMENT ME!private booleanisInverseDOCUMENT ME!private javax.swing.JLabellabelThres2DOCUMENT ME!private floatmaxDOCUMENT ME!private static intMAX_ENTDOCUMENT ME!private javax.swing.JCheckBoxmaxEntCheckboxDOCUMENT ME!private floatminDOCUMENT ME!private javax.swing.JRadioButtonnewImageDOCUMENT ME!private static intOTSUDOCUMENT ME!private javax.swing.JCheckBoxotsuCheckboxDOCUMENT ME!private doubleoutMaxDOCUMENT ME!private doubleoutMinDOCUMENT ME!private javax.swing.JComboBoxoutputBoxHolds the choices for the outputType.private intoutputTypeSame data-type, binary, or unsigned byte mask.private booleanregionFlagor if the source image is to be replaced.private javax.swing.JRadioButtonreplaceImageDOCUMENT ME!private ModelImageresultImageDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private javax.swing.JTextFieldtextFillDOCUMENT ME!private javax.swing.JTextFieldtextThres1DOCUMENT ME!private javax.swing.JTextFieldtextThres2DOCUMENT ME!private floatthres1DOCUMENT ME!private floatthres2DOCUMENT ME!private AlgorithmThresholdDualthresholdAlgoDOCUMENT ME!private intthresholdTypeDOCUMENT ME!private java.lang.String[]titlesDOCUMENT ME!private ViewUserInterfaceuserInterfaceDOCUMENT ME!private javax.swing.JRadioButtonVOIRegionsDOCUMENT ME!private javax.swing.JRadioButtonwholeImageDOCUMENT 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 JDialogThreshold()Empty constructor needed for dynamic instantiation (used during scripting).JDialogThreshold(java.awt.Frame theParentFrame, ModelImage im)Creates a new JDialogThreshold object.
-
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.voidcalcHistogram()DOCUMENT ME!protected voidcallAlgorithm()Once all the necessary variables are set, call the Gaussian Blur algorithm based on what type of image this is and whether or not there is a separate destination image.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 java.lang.StringgetRangeString(int imageType)DOCUMENT ME!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)Sets the fill value text box to enabled or disabled depending on if the binary checkbox is selected.voidrunFromLUTFrame(ModelImage im, float lowerThres, float upperThres, float fillV, int output_type, boolean inverseFlag)Function for setting up/running the threshold algorithm from the ViewJFrameHistoLUT.voidsetDisplayLocNew()Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.voidsetDisplayLocReplace()Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.voidsetFillValue(float scale)Accessor that sets the fill value.protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetOutputType(int output_type)Accessor that sets the output type.voidsetRegionFlag(boolean flag)Accessor that sets the region flag.voidsetThres1(float threshold)Accessor that sets the first threshold.voidsetThres2(float threshold)Accessor that sets the second threshold.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, 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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
DEFAULT
private static final int DEFAULT
DOCUMENT ME!- See Also:
- Constant Field Values
-
OTSU
private static final int OTSU
DOCUMENT ME!- See Also:
- Constant Field Values
-
MAX_ENT
private static final int MAX_ENT
DOCUMENT ME!- See Also:
- Constant Field Values
-
displayLoc
private int displayLoc
DOCUMENT ME!
-
fillValue
private float fillValue
DOCUMENT ME!
-
histogram
private ModelHistogram histogram
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
inverseCheckbox
private javax.swing.JCheckBox inverseCheckbox
DOCUMENT ME!
-
isInverse
private boolean isInverse
DOCUMENT ME!
-
labelThres2
private javax.swing.JLabel labelThres2
DOCUMENT ME!
-
maxEntCheckbox
private javax.swing.JCheckBox maxEntCheckbox
DOCUMENT ME!
-
min
private float min
DOCUMENT ME!
-
max
private float max
DOCUMENT ME!
-
newImage
private javax.swing.JRadioButton newImage
DOCUMENT ME!
-
otsuCheckbox
private javax.swing.JCheckBox otsuCheckbox
DOCUMENT ME!
-
outMax
private double outMax
DOCUMENT ME!
-
outMin
private double outMin
DOCUMENT ME!
-
outputBox
private javax.swing.JComboBox outputBox
Holds the choices for the outputType.
-
outputType
private int outputType
Same data-type, binary, or unsigned byte mask.
-
regionFlag
private boolean regionFlag
or if the source image is to be replaced.
-
replaceImage
private javax.swing.JRadioButton replaceImage
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
textFill
private javax.swing.JTextField textFill
DOCUMENT ME!
-
textThres1
private javax.swing.JTextField textThres1
DOCUMENT ME!
-
textThres2
private javax.swing.JTextField textThres2
DOCUMENT ME!
-
thres1
private float thres1
DOCUMENT ME!
-
thres2
private float thres2
DOCUMENT ME!
-
thresholdAlgo
private AlgorithmThresholdDual thresholdAlgo
DOCUMENT ME!
-
thresholdType
private int thresholdType
DOCUMENT ME!
-
titles
private java.lang.String[] titles
DOCUMENT ME!
-
userInterface
private ViewUserInterface userInterface
DOCUMENT ME!
-
VOIRegions
private javax.swing.JRadioButton VOIRegions
DOCUMENT ME!
-
wholeImage
private javax.swing.JRadioButton wholeImage
DOCUMENT ME!
-
-
Constructor Detail
-
JDialogThreshold
public JDialogThreshold()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogThreshold
public JDialogThreshold(java.awt.Frame theParentFrame, ModelImage im)Creates a new JDialogThreshold object.- Parameters:
theParentFrame- Parent frame.im- 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.
-
calcHistogram
public void calcHistogram()
DOCUMENT ME!
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- The result image.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
Sets the fill value text box to enabled or disabled depending on if the binary checkbox is selected.- Specified by:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin classJDialogBase- Parameters:
event- Event that cause the method to fire.
-
runFromLUTFrame
public void runFromLUTFrame(ModelImage im, float lowerThres, float upperThres, float fillV, int output_type, boolean inverseFlag)
Function for setting up/running the threshold algorithm from the ViewJFrameHistoLUT.- Parameters:
im- ModelImage imagelowerThres- float lower thresholdupperThres- float upper thresholdfillV- float fill valueoutput_type- output type: same, binary, unsigned byte maskinverseFlag- normal or inverse threshold
-
setDisplayLocNew
public void setDisplayLocNew()
Accessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.
-
setDisplayLocReplace
public void setDisplayLocReplace()
Accessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.
-
setFillValue
public void setFillValue(float scale)
Accessor that sets the fill value. Will not be used if writing out a binary image.- Parameters:
scale- Value to set fill value to.
-
setOutputType
public void setOutputType(int output_type)
Accessor that sets the output type.- Parameters:
output_type- 0 is normal, 1 is binary, 2 is unsigned byte mask
-
setRegionFlag
public void setRegionFlag(boolean flag)
Accessor that sets the region flag.- Parameters:
flag-trueindicates the whole image is blurred,falseindicates a region.
-
setThres1
public void setThres1(float threshold)
Accessor that sets the first threshold.- Parameters:
threshold- Value to set threshold to (between min and max of image).
-
setThres2
public void setThres2(float threshold)
Accessor that sets the second threshold.- Parameters:
threshold- Value to set threshold to (between min and max of image).
-
callAlgorithm
protected void callAlgorithm()
Once all the necessary variables are set, call the Gaussian Blur 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()
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.
-
getRangeString
private java.lang.String getRangeString(int imageType)
DOCUMENT ME!- Parameters:
imageType- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
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.
-
-