Package gov.nih.mipav.view.dialogs
Class JDialogAnisotropicDiffusion
- 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.JDialogAnisotropicDiffusion
 
 
 
 
 
 
 
 
- 
- All Implemented Interfaces:
- AlgorithmInterface,- ScriptableActionInterface,- DialogDefaultsInterface,- ActionDiscovery,- 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 JDialogAnisotropicDiffusion extends JDialogScriptableBase implements AlgorithmInterface, ActionDiscovery, ScriptableActionInterface Dialog to get user input, then call the algorithm. The user is able to control the degree of blurring in all dimensions and indicate if a correction factor be applied to the z-dimension to account for differing resolutions between the xy resolutions (intra-plane) and the z resolution (inter-plane). 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 Nov 17, 1998
- Author:
- Matthew J. McAuliffe, Ph.D.
- See Also:
- AlgorithmGaussianBlur, Serialized Form
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class gov.nih.mipav.view.dialogs.JDialogBaseJDialogBase.CancelAction, JDialogBase.HelpAction, JDialogBase.OKAction
 - 
Nested classes/interfaces inherited from class javax.swing.JDialogjavax.swing.JDialog.AccessibleJDialog
 - 
Nested classes/interfaces inherited from class java.awt.Dialogjava.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 - 
Nested classes/interfaces inherited from class java.awt.Windowjava.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
 
- 
 - 
Field SummaryFields Modifier and Type Field Description private AlgorithmAnisotropicDiffusiondiffusionAlgoDOCUMENT ME!private ModelImageimageSource image.private booleanimage25DDOCUMENT ME!private javax.swing.JCheckBoximage25DCheckboxDOCUMENT ME!private intitersDOCUMENT ME!private floatkonstDOCUMENT ME!private JPanelAlgorithmOutputOptionsoutputPanelprivate ModelImageresultImageResult image.private static longserialVersionUIDUse serialVersionUID for interoperability.private JPanelSigmassigmaPanelprivate javax.swing.JTextFieldtextItersDOCUMENT ME!private javax.swing.JTextFieldtextKDOCUMENT ME!private java.lang.String[]titlesDOCUMENT ME!private ViewUserInterfaceuserInterfaceDOCUMENT ME!- 
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogScriptableBasedisplayInNewFrame, isComplete, scriptParameters
 - 
Fields inherited from class gov.nih.mipav.view.dialogs.JDialogBaseapplyButton, bar, cancelButton, cancelFlag, closeButton, HELP, helpButton, mainDialogPanel, NEW, OKButton, parentFrame, progressBar, REPLACE, runInSeparateThread, runningScriptFlag, runQuiet, serif12, serif12B, voiManager
 - 
Fields inherited from class javax.swing.JDialogaccessibleContext, rootPane, rootPaneCheckingEnabled
 - 
Fields inherited from class java.awt.ComponentBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
- 
 - 
Constructor SummaryConstructors Constructor Description JDialogAnisotropicDiffusion()Empty constructor needed for dynamic instantiation (used during scripting).JDialogAnisotropicDiffusion(java.awt.Frame theParentFrame, ModelImage im)Creates a new JDialogAnisotropicDiffusion object.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)Performs some error checking, then 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 Gaussian Blur algorithm based on what type of image this is and whether or not there is a separate destination image.ParameterTablecreateInputParameters()Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in#setGUIFromParams()).ParameterTablecreateOutputParameters()Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).protected voiddoPostAlgorithmActions()Used to perform actions after the execution of the algorithm is completed (e.g., put the result image in the image table).ActionMetadatagetActionMetadata()Return meta-information about this discoverable action for categorization and labeling purposes.java.lang.StringgetOutputImageName(java.lang.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).ModelImagegetResultImage()Accessor that returns the image.private voidinit()Initializes dialog by setting up components and placing them in dialog frame.booleanisActionComplete()Returns whether the action has successfully completed its execution.voiditemStateChanged(java.awt.event.ItemEvent event)Method to handle item events.protected voidsetGUIFromParams()Set 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.voidsetK(float k)Accessor that sets the k value.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.JDialogScriptableBasegetDialogActionString, insertScriptLine, isComplete, scriptRun, setComplete
 - 
Methods inherited from class gov.nih.mipav.view.dialogs.JDialogBasebuildApplyButton, 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.JDialogaddImpl, 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.DialogaddNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
 - 
Methods inherited from class java.awt.WindowaddPropertyChangeListener, 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.Containeradd, 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.Componentaction, 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
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscoveryscriptRun
 - 
Methods inherited from interface gov.nih.mipav.model.scripting.ScriptableActionInterfaceinsertScriptLine, scriptRun
 
- 
 
- 
- 
- 
Field Detail- 
serialVersionUIDprivate static final long serialVersionUID Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
 
 - 
diffusionAlgoprivate AlgorithmAnisotropicDiffusion diffusionAlgo DOCUMENT ME!
 - 
imageprivate ModelImage image Source image.
 - 
image25Dprivate boolean image25D DOCUMENT ME!
 - 
image25DCheckboxprivate javax.swing.JCheckBox image25DCheckbox DOCUMENT ME!
 - 
itersprivate int iters DOCUMENT ME!
 - 
konstprivate float konst DOCUMENT ME!
 - 
resultImageprivate ModelImage resultImage Result image.
 - 
textItersprivate javax.swing.JTextField textIters DOCUMENT ME!
 - 
textKprivate javax.swing.JTextField textK DOCUMENT ME!
 - 
titlesprivate java.lang.String[] titles DOCUMENT ME!
 - 
userInterfaceprivate ViewUserInterface userInterface DOCUMENT ME!
 - 
sigmaPanelprivate JPanelSigmas sigmaPanel 
 - 
outputPanelprivate JPanelAlgorithmOutputOptions outputPanel 
 
- 
 - 
Constructor Detail- 
JDialogAnisotropicDiffusionpublic JDialogAnisotropicDiffusion() Empty constructor needed for dynamic instantiation (used during scripting).
 - 
JDialogAnisotropicDiffusionpublic JDialogAnisotropicDiffusion(java.awt.Frame theParentFrame, ModelImage im)Creates a new JDialogAnisotropicDiffusion object.- Parameters:
- theParentFrame- Parent frame.
- im- Source image.
 
 
- 
 - 
Method Detail- 
actionPerformedpublic void actionPerformed(java.awt.event.ActionEvent event) Performs some error checking, then closes dialog box when the OK button is pressed and calls the algorithm.- Specified by:
- actionPerformedin interface- java.awt.event.ActionListener
- Overrides:
- actionPerformedin class- JDialogBase
- Parameters:
- event- Event that triggers method.
 
 - 
storeParamsFromGUIprotected void storeParamsFromGUI() throws ParserExceptionRecord the parameters just used to run this algorithm in a script.- Specified by:
- storeParamsFromGUIin class- JDialogScriptableBase
- Throws:
- ParserException- If there is a problem creating/recording the new parameters.
 
 - 
setGUIFromParamsprotected void setGUIFromParams() Set the dialog GUI using the script parameters while running this algorithm as part of a script.- Specified by:
- setGUIFromParamsin class- JDialogScriptableBase
 
 - 
doPostAlgorithmActionsprotected 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 class- JDialogScriptableBase
 
 - 
algorithmPerformedpublic 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 interface- AlgorithmInterface
- Parameters:
- algorithm- Algorithm that caused the event.
 
 - 
getResultImagepublic ModelImage getResultImage() Accessor that returns the image.- Returns:
- The result image.
 
 - 
itemStateChangedpublic void itemStateChanged(java.awt.event.ItemEvent event) Method to handle item events.- Specified by:
- itemStateChangedin interface- java.awt.event.ItemListener
- Overrides:
- itemStateChangedin class- JDialogBase
- Parameters:
- event- Event that caused the method to fire.
 
 - 
setImage25Dpublic void setImage25D(boolean flag) Accessor that sets the slicing flag.- Parameters:
- flag-- trueindicates slices should be blurred independently.
 
 - 
setIterspublic void setIters(int num) Accessor that sets the number of iterations.- Parameters:
- num- Value to set iterations to (should be between 1 and 10000).
 
 - 
setKpublic void setK(float k) Accessor that sets the k value.- Parameters:
- k- Value to set k value to (should be between 1 and 100).
 
 - 
callAlgorithmprotected 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 class- JDialogScriptableBase
 
 - 
initprivate void init() Initializes dialog by setting up components and placing them in dialog frame.
 - 
setVariablesprivate boolean setVariables() Use the GUI results to set up the variables needed to run the algorithm.- Returns:
- trueif parameters set successfully,- falseotherwise.
 
 - 
getActionMetadatapublic ActionMetadata getActionMetadata() Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
- getActionMetadatain interface- ActionDiscovery
- Returns:
- Metadata for this action.
 
 - 
createInputParameterspublic ParameterTable createInputParameters() Description copied from interface:ActionDiscoveryReturns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used in#setGUIFromParams()).- Specified by:
- createInputParametersin interface- ActionDiscovery
- Returns:
- A parameter table listing the inputs of this algorithm.
 
 - 
createOutputParameterspublic ParameterTable createOutputParameters() Description copied from interface:ActionDiscoveryReturns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).- Specified by:
- createOutputParametersin interface- ActionDiscovery
- Returns:
- A parameter table listing the outputs of this algorithm.
 
 - 
getOutputImageNamepublic java.lang.String getOutputImageName(java.lang.String imageParamName) Description copied from interface:ActionDiscoveryReturns 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 interface- ActionDiscovery
- 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.
 
 - 
isActionCompletepublic boolean isActionComplete() Description copied from interface:ActionDiscoveryReturns whether the action has successfully completed its execution.- Specified by:
- isActionCompletein interface- ActionDiscovery
- Returns:
- True, if the action is complete. False, if the action failed or is still running.
 
 
- 
 
-