Package gov.nih.mipav.view.dialogs
Class JDialogBrainSurfaceExtractor
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.JDialogBrainSurfaceExtractor
- All Implemented Interfaces:
AlgorithmInterface,ScriptableActionInterface,DialogDefaultsInterface,ActionDiscovery,ActionListener,FocusListener,ItemListener,WindowListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
public class JDialogBrainSurfaceExtractor
extends JDialogScriptableBase
implements AlgorithmInterface, ActionDiscovery
This dialog collects parameters for the BSE algorithm and then starts it up.
- Version:
- 1.0 June 3, 2004
- Author:
- Evan McCreedy
- 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 static final intNumber of closing operations to perform.private static final intThe nuber of pixels to include in the initial closing kernel diameter.private floatSize of the kernel used in the closing operations.private JTextFieldText field used to enter the number of closings to perform.private floatEdge detection kernel size (.6 in Shattuck paper).private JTextFieldText field used to enter the edge detection kernel size.private booleanWhether to process the slices of the 3D image separately while performing the erosion / dilation.private JCheckBoxCheck box for indicating whether erosion / dilation should process slices independently.private intNumber of erosion / dilation operations to perform (2 in Shattuck paper).private JTextFieldText field used to enter the number of erosions / dilations.private AlgorithmBrainSurfaceExtractorReference to the algorithm we will be running.private booleanWhether to extract the brain to paint instead of removing image data.private JCheckBoxCheckbox to extract the brain to paint instead of removing image data.private booleanWhether to fill in all internal holes in the extracted brain.private JCheckBoxCheckbox for indicating whether to close all of the interior holes in the extracted brain.private floatStandard deviation of the filter's gaussian kernel.private JTextFieldText field used to enter the standard deviation of the filter's gaussian kernel.private intNumber of filter iterations.private JTextFieldText field used to enter the number of filter iterations.private ModelImageThe source image.private ModelImageA copy of the source image to run the algorithm on.private StringThe original image name.private ModelImageThe result image.private static final longUse serialVersionUID for interoperability.private booleanWhether to show images from intermediate steps of the BSE algorithm.private JCheckBoxCheckbox to show images which can help in paramater tweaking.private ViewUserInterfaceReference to the main user interface.private booleanWhether to use a separable convolver during edge detection.private JCheckBoxCheckbox to elect to use the separable convolver in the edge detection algorithm.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).JDialogBrainSurfaceExtractor(Frame theParentFrame, ModelImage im) Sets the appropriate variables. -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(ActionEvent event) Handles events generated by the user interface, and takes appropriate action.voidalgorithmPerformed(AlgorithmBase algorithm) This method is required if the AlgorithmPerformed interface is implemented.voidCalls the algorithm.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).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).private voidinit()Makes the GUI elements of the dialog.booleanReturns whether the action has successfully completed its execution.voidsetEdgeKernelSize(float s) Accessor to set the edge detection kernel size.voidsetErosionIterations(int iter) Accessor to set the number of erosions / dialations.voidsetExtractPaint(boolean b) Accessor to set the extract to paint parameter.voidsetFillHoles(boolean b) Accessor to set the fill holes parameter.voidsetFilterGaussianStdDev(float s) Accessor to set the filter's gaussian standard deviation.voidsetFilterIterations(int iter) Accessor to set the number of filter iterations.protected voidSet the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetShowIntermediateImages(boolean show) Accessor to set whether intermediate images will be produced.voidsetUseSeparable(boolean use) Accessor to set whether to use the separable convolver for edge detection.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
scriptRun
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDUse serialVersionUID for interoperability.- See Also:
-
closeKernelPixels
private static final int closeKernelPixelsThe nuber of pixels to include in the initial closing kernel diameter.- See Also:
-
closeIterations
private static final int closeIterationsNumber of closing operations to perform.- See Also:
-
closeKernelSize
private float closeKernelSizeSize of the kernel used in the closing operations. -
closeKernelSizeTF
Text field used to enter the number of closings to perform. -
edgeKernelSize
private float edgeKernelSizeEdge detection kernel size (.6 in Shattuck paper). -
edgeKernelSizeTF
Text field used to enter the edge detection kernel size. -
erosion25D
private boolean erosion25DWhether to process the slices of the 3D image separately while performing the erosion / dilation. -
erosion25DCB
Check box for indicating whether erosion / dilation should process slices independently. -
erosionIterations
private int erosionIterationsNumber of erosion / dilation operations to perform (2 in Shattuck paper). -
erosionIterationsTF
Text field used to enter the number of erosions / dilations. -
extractBrainAlgo
Reference to the algorithm we will be running. -
extractPaint
private boolean extractPaintWhether to extract the brain to paint instead of removing image data. -
extractPaintCheckBox
Checkbox to extract the brain to paint instead of removing image data. -
fillHoles
private boolean fillHolesWhether to fill in all internal holes in the extracted brain. -
fillHolesCB
Checkbox for indicating whether to close all of the interior holes in the extracted brain. -
filterGaussianStdDev
private float filterGaussianStdDevStandard deviation of the filter's gaussian kernel. -
filterGaussianStdDevTF
Text field used to enter the standard deviation of the filter's gaussian kernel. -
filterIterations
private int filterIterationsNumber of filter iterations. -
filterIterationsTF
Text field used to enter the number of filter iterations. -
image
The source image. -
imageCopy
A copy of the source image to run the algorithm on. -
imgName
The original image name. -
resultImage
The result image. -
showIntermediateImages
private boolean showIntermediateImagesWhether to show images from intermediate steps of the BSE algorithm. -
showIntermediateImagesCB
Checkbox to show images which can help in paramater tweaking. -
userInterface
Reference to the main user interface. -
useSeparable
private boolean useSeparableWhether to use a separable convolver during edge detection. -
useSeparableCB
Checkbox to elect to use the separable convolver in the edge detection algorithm.
-
-
Constructor Details
-
JDialogBrainSurfaceExtractor
public JDialogBrainSurfaceExtractor()Empty constructor needed for dynamic instantiation (used during scripting). -
JDialogBrainSurfaceExtractor
Sets the appropriate variables.- Parameters:
theParentFrame- Parent frame.im- Source image.
-
-
Method Details
-
actionPerformed
Handles events generated by the user interface, and takes appropriate action.- 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 display the result image and/or clean up.- Specified by:
algorithmPerformedin interfaceAlgorithmInterface- Parameters:
algorithm- Algorithm that caused the event.
-
callAlgorithm
public void callAlgorithm()Calls the algorithm.- Specified by:
callAlgorithmin classJDialogScriptableBase
-
setEdgeKernelSize
public void setEdgeKernelSize(float s) Accessor to set the edge detection kernel size.- Parameters:
s- the kernel size for edge detection
-
setFillHoles
public void setFillHoles(boolean b) Accessor to set the fill holes parameter.- Parameters:
b- when true holes are filled.
-
setExtractPaint
public void setExtractPaint(boolean b) Accessor to set the extract to paint parameter.- Parameters:
b- when true extract to paint.
-
setErosionIterations
public void setErosionIterations(int iter) Accessor to set the number of erosions / dialations.- Parameters:
iter- the number of erosions / dialations to do
-
setFilterGaussianStdDev
public void setFilterGaussianStdDev(float s) Accessor to set the filter's gaussian standard deviation.- Parameters:
s- the standard deviation
-
setFilterIterations
public void setFilterIterations(int iter) Accessor to set the number of filter iterations.- Parameters:
iter- the number of filtering passes to make
-
setShowIntermediateImages
public void setShowIntermediateImages(boolean show) Accessor to set whether intermediate images will be produced.- Parameters:
show- whether to keep intermediate images made
-
setUseSeparable
public void setUseSeparable(boolean use) Accessor to set whether to use the separable convolver for edge detection.- Parameters:
use- whether use the separable convolver
-
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.
-
init
private void init()Makes the GUI elements of the dialog. -
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.
-