Package gov.nih.mipav.view.dialogs
Class JDialogThresholdRGB
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.JDialogThresholdRGB
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
Title: JDialogThresholdRGB
Description: dialog for running RGB threshold algorithm on color images
Copyright: Copyright (c) 2003
Company:
- Version:
- 1.0
- Author:
- linkb
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBase
JDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKActionNested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialogNested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityTypeNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JCheckBoxfalse = apply algorithm only to VOI regions apply same threshold to all.private JCheckBoxenable blue threshold.private JCheckBoxenable green threshold.private JCheckBoxenable red threshold.private intDOCUMENT ME!private float[]DOCUMENT ME!private ModelImageDOCUMENT ME!private JCheckBoxchoose inverse or no inverse threshold.private booleaninverse?private float[]DOCUMENT ME!private float[]Minimum and maximum values for red/gree/blue.private JRadioButtonDOCUMENT ME!private booleanor if the source image is to be replaced.private JRadioButtonDOCUMENT ME!private ModelImageDOCUMENT ME!private static final longUse serialVersionUID for interoperability.private JTextField[]DOCUMENT ME!private JTextField[]Text fields for lower invalid input: '&' upper thresholds and fill values.private JTextField[]DOCUMENT ME!private AlgorithmThresholdDualRGBDOCUMENT ME!private float[]DOCUMENT ME!private float[]DOCUMENT ME!private JLabel[]DOCUMENT ME!private JLabel[]DOCUMENT ME!private float[]lower [0] and upper [1] thresholds for RGB.private String[]DOCUMENT ME!private boolean[]tells whether or not to use the channels (red=0, green=1, blue=2).private ViewUserInterfaceDOCUMENT ME!private JRadioButtonDOCUMENT ME!private JRadioButtonDOCUMENT ME!Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBase
displayInNewFrame, isComplete, scriptParametersFields 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, voiManagerFields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPEFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionEmpty constructor needed for dynamic instantiation (used during scripting).Used primarily for the script to store variables and run the algorithm.JDialogThresholdRGB(Frame theParentFrame, ModelImage im) Creates a new JDialogThresholdRGB object. -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(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.private JPanelbuildThresholdPanel(int panelNum) Builds each threshold panel (red, green, and blue).protected voidOnce all the necessary variables are set, call the threshold rgb algorithm based on what type of image this is and whether or not there is a separate destination image.protected voidUsed to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table).voidfocusLost(FocusEvent event) When the user clicks the mouse out of a text field, resets the necessary variables.Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.voiditemStateChanged(ItemEvent event) Monitors the checkboxes and handles events according (enable/disable).voidrunFromLUTFrame(ModelImage im, float[] red, float[] green, float[] blue, float[] fillV, boolean isInverse) Function to run the threshold algorithm from the ViewJFrameHistoRGB.voidAccessor that sets the display loc variable to new, so that a new image is created once the algorithm completes.voidAccessor that sets the display loc variable to replace, so the current image is replaced once the algorithm completes.voidsetFillValues(float[] scale) Accessor that sets the fill value.protected voidSet the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetRegionFlag(boolean flag) Accessor that sets the region flag.voidsetThresholdB(float[] thresB) Sets the blue threshold.voidsetThresholdG(float[] thresG) Sets the green threshold.voidsetThresholdR(float[] thresR) Sets the red threshold (float[2]... 1st is lower, 2nd is upper)private booleanUse the GUI results to set up the variables needed to run the algorithm.protected voidRecord 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, setCompleteMethods 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, windowOpenedMethods 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, updateMethods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBackMethods 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, toFrontMethods 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, validateTreeMethods 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 Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
applyToAllBox
false = apply algorithm only to VOI regions apply same threshold to all. -
applyToBlueBox
enable blue threshold. -
applyToGreenBox
enable green threshold. -
applyToRedBox
enable red threshold. -
displayLoc
private int displayLocDOCUMENT ME! -
fillValues
private float[] fillValuesDOCUMENT ME! -
image
DOCUMENT ME! -
inverseOptionBox
choose inverse or no inverse threshold. -
isInverse
private boolean isInverseinverse? -
maxs
private float[] maxsDOCUMENT ME! -
mins
private float[] minsMinimum and maximum values for red/gree/blue. -
newImage
DOCUMENT ME! -
regionFlag
private boolean regionFlagor if the source image is to be replaced. -
replaceImage
DOCUMENT ME! -
resultImage
DOCUMENT ME! -
textFills
DOCUMENT ME! -
textThreshold1
Text fields for lower invalid input: '&' upper thresholds and fill values. -
textThreshold2
DOCUMENT ME! -
thresholdAlgoRGB
DOCUMENT ME! -
thresholdB
private float[] thresholdBDOCUMENT ME! -
thresholdG
private float[] thresholdGDOCUMENT ME! -
thresholdLabels1
DOCUMENT ME! -
thresholdLabels2
DOCUMENT ME! -
thresholdR
private float[] thresholdRlower [0] and upper [1] thresholds for RGB. -
titles
DOCUMENT ME! -
useChannel
private boolean[] useChanneltells whether or not to use the channels (red=0, green=1, blue=2). -
userInterface
DOCUMENT ME! -
VOIRegions
DOCUMENT ME! -
wholeImage
DOCUMENT ME!
-
-
Constructor Details
-
JDialogThresholdRGB
public JDialogThresholdRGB()Empty constructor needed for dynamic instantiation (used during scripting). -
JDialogThresholdRGB
Used primarily for the script to store variables and run the algorithm. No actual dialog will appear but the set up info and result image will be stored here.- Parameters:
im- Source image.
-
JDialogThresholdRGB
Creates a new JDialogThresholdRGB object.- Parameters:
theParentFrame- Parent frame.im- Source image.
-
-
Method Details
-
actionPerformed
Closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classJDialogBase- Parameters:
event- Event that triggers function.
-
algorithmPerformed
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
When the user clicks the mouse out of a text field, resets the necessary variables. In this case, it also handles a bug involving when the focusGained and focusLost functions are called by turning off the ability of the text fields to call those functions.- Specified by:
focusLostin interfaceFocusListener- Overrides:
focusLostin classJDialogBase- Parameters:
event- Event that triggers this function.
-
getResultImage
Accessor that returns the image.- Returns:
- The result image.
-
itemStateChanged
Monitors the checkboxes and handles events according (enable/disable).- Specified by:
itemStateChangedin interfaceItemListener- Overrides:
itemStateChangedin classJDialogBase- Parameters:
event- ItemEvent
-
runFromLUTFrame
public void runFromLUTFrame(ModelImage im, float[] red, float[] green, float[] blue, float[] fillV, boolean isInverse) Function to run the threshold algorithm from the ViewJFrameHistoRGB.- Parameters:
im- ModelImage the imagered- float[] red thresholdgreen- float[] green thresholdblue- float[] blue thresholdfillV- float[] fill valuesisInverse- boolean (inverse threshold or not)
-
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. -
setFillValues
public void setFillValues(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.
-
setRegionFlag
public void setRegionFlag(boolean flag) Accessor that sets the region flag.- Parameters:
flag-trueindicates the whole image is blurred,falseindicates a region.
-
setThresholdB
public void setThresholdB(float[] thresB) Sets the blue threshold.- Parameters:
thresB- float[]
-
setThresholdG
public void setThresholdG(float[] thresG) Sets the green threshold.- Parameters:
thresG- float[]
-
setThresholdR
public void setThresholdR(float[] thresR) Sets the red threshold (float[2]... 1st is lower, 2nd is upper)- Parameters:
thresR- float[]
-
callAlgorithm
protected void callAlgorithm()Once all the necessary variables are set, call the threshold rgb 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
Record 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.
-
buildThresholdPanel
Builds each threshold panel (red, green, and blue).- Parameters:
panelNum- int 0-2- Returns:
- JPanel
-
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.
-