Package gov.nih.mipav.view.dialogs
Class JDialogMedian
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.JDialogMedian
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,ActionDiscovery,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
public class JDialogMedian
extends JDialogScriptableBase
implements AlgorithmInterface, ActionDiscovery, ScriptableActionInterface
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 select having the algorithm applied to whole image or to the VOI regions. It
should be noted that the algorithms are executed in their own thread.
- Version:
- 1.0; 17 February 2000
- 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 TypeFieldDescriptionstatic final intstatic final intprivate JRadioButtonprivate JRadioButtonprivate booleanDOCUMENT ME!private JCheckBoxDOCUMENT ME!private JRadioButtonDOCUMENT ME!private intDOCUMENT ME!private JComboBoxDOCUMENT ME!private JComboBoxDOCUMENT ME!private JComboBoxDOCUMENT ME!static final intDOCUMENT ME!private JRadioButtonDOCUMENT ME!private floatprivate intprivate JRadioButtonprivate booleanDOCUMENT ME!private JCheckBoxDOCUMENT ME!private ModelImageDOCUMENT ME!private booleanfalse = apply algorithm only to VOI regions.private intDOCUMENT ME!private intDOCUMENT ME!private intDOCUMENT ME!private JLabelprivate JLabelDOCUMENT ME!private JLabelDOCUMENT ME!private intDOCUMENT ME!private AlgorithmMedianDOCUMENT ME!private JPanelAlgorithmOutputOptionsDOCUMENT ME!private booleanDOCUMENT ME!private JCheckBoxDOCUMENT ME!private ModelImageDOCUMENT ME!private static final longUse serialVersionUID for interoperability.static final intprivate JRadioButtonprivate floatDOCUMENT ME!static final intprivate JTextFieldprivate JTextFieldDOCUMENT ME!private JTextFieldDOCUMENT ME!private String[]DOCUMENT ME!static final intprivate JRadioButtonprivate ButtonGroupprivate ViewUserInterfaceDOCUMENT ME!static final intDOCUMENT ME!static final intDOCUMENT ME!private JRadioButtonDOCUMENT ME!private ButtonGroupDOCUMENT 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).JDialogMedian(Frame theParentFrame, ModelImage im) Creates a new JDialogMedian 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 voidbuildKernelShapeComboBox(boolean singleSlices) Creates the combo-box that allows user to select the shape of the kernel (mask).private voidbuildKernelSizeComboBox(boolean singleSlices) Creates the combo-box that allows user to select the size of the kernel (mask).private voidbuildMaximumSizeComboBox(boolean singleSlices) Creates the combo-box that allows user to select the maximum size of the kernel (mask) when adaptive median filtering is selected.protected voidOnce all the necessary variables are set, call the median algorithm based on what type of image this is and whether or not there is a separate destination image.Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()).Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).private voidAssociate one side of the kernel size with selectBox choice.private voidAssociate one side of the maximum kernel size with selectBox choice when adaptive median filtering is selected.protected voidStore the result image in the script runner's image table now that the action execution is finished.Return meta-information about this discoverable action for categorization and labeling purposes.getOutputImageName(String imageParamName) Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).Accessor that returns the image.private voidinit()Sets up the GUI (panels, buttons, etc) and displays it on the screen.booleanReturns whether the action has successfully completed its execution.voidsetBlue(boolean flag) Accessor that sets the color flag.voidsetColorFilterType(int colorFilterType) Accessor that sets if all colors are component filtered, vector magnitude filtered, vector direction filtered, or adaptive truncated vector median filtered.voidsetDelta(float delta) voidsetFilterType(int filterType) voidsetGreen(boolean flag) Accessor that sets the color flag.protected voidSet the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetImage25D(boolean flag) Accessor that sets the slicing flag.voidsetIters(int num) Accessor that sets the number of iterations.voidsetKernelShape(int shape) Accessor that sets the kernel shape.voidsetKernelSize(int size) Accessor that sets the kernel size.voidsetMaximumSize(int maximumSize) Accessor that sets the maximum size the kernel mask can be increased to when adaptive median filtering is used.voidsetRed(boolean flag) Accessor that sets the color flag.voidsetStdDev(float dev) Accessor that sets the standard deviation.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, focusLost, getDialogName, isCancelled, isQuietRunning, isRunInSeparateThread, isScriptRunning, itemStateChanged, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscovery
scriptRunMethods inherited from interface gov.nih.mipav.model.scripting.ScriptableActionInterface
insertScriptLine, scriptRun
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
COMPONENT_FILTER
public static final int COMPONENT_FILTERDOCUMENT ME!- See Also:
-
VECTOR_MAGNITUDE_FILTER
public static final int VECTOR_MAGNITUDE_FILTERDOCUMENT ME!- See Also:
-
VECTOR_DIRECTION_FILTER
public static final int VECTOR_DIRECTION_FILTERDOCUMENT ME!- See Also:
-
ADAPTIVE_TRUNCATED_VECTOR_MEDIAN_FILTER
public static final int ADAPTIVE_TRUNCATED_VECTOR_MEDIAN_FILTER- See Also:
-
STANDARD
public static final int STANDARD- See Also:
-
ADAPTIVE_SIZE
public static final int ADAPTIVE_SIZE- See Also:
-
TRUNCATED_MEDIAN
public static final int TRUNCATED_MEDIAN- See Also:
-
SYMMETRICAL_TRIANGULAR_FUZZY_TRUNCATED_MEDIAN
public static final int SYMMETRICAL_TRIANGULAR_FUZZY_TRUNCATED_MEDIAN- See Also:
-
typeGroup
-
standardButton
-
adaptiveButton
-
truncatedButton
-
fuzzyTruncatedButton
-
labelDelta
-
textDelta
-
delta
private float delta -
blue
private boolean blueDOCUMENT ME! -
blueChannel
DOCUMENT ME! -
bySlice
DOCUMENT ME! -
comboBoxKernelShape
DOCUMENT ME! -
comboBoxKernelSize
DOCUMENT ME! -
comboBoxMaximumSize
DOCUMENT ME! -
componentButton
DOCUMENT ME! -
filterType
private int filterType -
colorFilterType
private int colorFilterTypeDOCUMENT ME! -
green
private boolean greenDOCUMENT ME! -
greenChannel
DOCUMENT ME! -
image
DOCUMENT ME! -
image25D
private boolean image25Dfalse = apply algorithm only to VOI regions. -
iters
private int itersDOCUMENT ME! -
kernelShape
private int kernelShapeDOCUMENT ME! -
kernelSize
private int kernelSizeDOCUMENT ME! -
labelMaximumSize
DOCUMENT ME! -
labelSTDDeviation
DOCUMENT ME! -
maximumSize
private int maximumSizeDOCUMENT ME! -
medianAlgo
DOCUMENT ME! -
outputPanel
DOCUMENT ME! -
red
private boolean redDOCUMENT ME! -
redChannel
DOCUMENT ME! -
resultImage
DOCUMENT ME! -
stdDev
private float stdDevDOCUMENT ME! -
textNIter
DOCUMENT ME! -
textSTDDeviation
DOCUMENT ME! -
titles
DOCUMENT ME! -
userInterface
DOCUMENT ME! -
vectorDirectionButton
DOCUMENT ME! -
vectorGroup
DOCUMENT ME! -
vectorMagnitudeButton
DOCUMENT ME! -
ATVMFButton
-
wholeVolume
DOCUMENT ME!
-
-
Constructor Details
-
JDialogMedian
public JDialogMedian()Empty constructor needed for dynamic instantiation (used during scripting). -
JDialogMedian
Creates a new JDialogMedian 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 algorithm 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.
-
getResultImage
Accessor that returns the image.- Returns:
- The result image.
-
setFilterType
public void setFilterType(int filterType) - Parameters:
filterType-
-
setBlue
public void setBlue(boolean flag) Accessor that sets the color flag.- Parameters:
flag-trueindicates ARG image, blue.
-
setColorFilterType
public void setColorFilterType(int colorFilterType) Accessor that sets if all colors are component filtered, vector magnitude filtered, vector direction filtered, or adaptive truncated vector median filtered.- Parameters:
colorFilterType- DOCUMENT ME!
-
setGreen
public void setGreen(boolean flag) Accessor that sets the color flag.- Parameters:
flag-trueindicates ARG image, green.
-
setImage25D
public void setImage25D(boolean flag) Accessor that sets the slicing flag.- Parameters:
flag-trueindicates slices should be processed independently.
-
setIters
public void setIters(int num) Accessor that sets the number of iterations.- Parameters:
num- Value to set iterations to (should be between 1 and 20).
-
setKernelShape
public void setKernelShape(int shape) Accessor that sets the kernel shape.- Parameters:
shape- Value to set size to (0 == square, 1 == cross).
-
setKernelSize
public void setKernelSize(int size) Accessor that sets the kernel size.- Parameters:
size- Value to set size to (3 == 3x3, 5 == 5x5, etc.)
-
setMaximumSize
public void setMaximumSize(int maximumSize) Accessor that sets the maximum size the kernel mask can be increased to when adaptive median filtering is used.- Parameters:
maximumSize- DOCUMENT ME!
-
setRed
public void setRed(boolean flag) Accessor that sets the color flag.- Parameters:
flag-trueindicates ARG image, red.
-
setStdDev
public void setStdDev(float dev) Accessor that sets the standard deviation.- Parameters:
dev- Value to set the standard deviation to (should be between 0.0 and 9.9).
-
setDelta
public void setDelta(float delta) - Parameters:
delta-
-
callAlgorithm
protected void callAlgorithm()Once all the necessary variables are set, call the median 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
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.
-
buildKernelShapeComboBox
private void buildKernelShapeComboBox(boolean singleSlices) Creates the combo-box that allows user to select the shape of the kernel (mask).- Parameters:
singleSlices- DOCUMENT ME!
-
buildKernelSizeComboBox
private void buildKernelSizeComboBox(boolean singleSlices) Creates the combo-box that allows user to select the size of the kernel (mask).- Parameters:
singleSlices- DOCUMENT ME!
-
buildMaximumSizeComboBox
private void buildMaximumSizeComboBox(boolean singleSlices) Creates the combo-box that allows user to select the maximum size of the kernel (mask) when adaptive median filtering is selected.- Parameters:
singleSlices- DOCUMENT ME!
-
determineKernelSize
private void determineKernelSize()Associate one side of the kernel size with selectBox choice. -
determineMaximumSize
private void determineMaximumSize()Associate one side of the maximum kernel size with selectBox choice when adaptive median filtering is selected. -
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.
-
getActionMetadata
Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
getActionMetadatain interfaceActionDiscovery- Returns:
- Metadata for this action.
-
createInputParameters
Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()).- Specified by:
createInputParametersin interfaceActionDiscovery- Returns:
- A parameter table listing the inputs of this algorithm.
-
createOutputParameters
Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).- Specified by:
createOutputParametersin interfaceActionDiscovery- Returns:
- A parameter table listing the outputs of this algorithm.
-
getOutputImageName
Returns the name of an image output by this algorithm, the image returned depends on the parameter label given (which can be used to retrieve the image object from the image registry).- Specified by:
getOutputImageNamein interfaceActionDiscovery- Parameters:
imageParamName- The output image parameter label for which to get the image name.- Returns:
- The image name of the requested output image parameter label.
-
isActionComplete
public boolean isActionComplete()Returns whether the action has successfully completed its execution.- Specified by:
isActionCompletein interfaceActionDiscovery- Returns:
- True, if the action is complete. False, if the action failed or is still running.
-