Package gov.nih.mipav.view.dialogs
Class JDialogN4MRIBiasFieldCorrection
- 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.JDialogN4MRIBiasFieldCorrection
-
- 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 JDialogN4MRIBiasFieldCorrection extends JDialogScriptableBase implements AlgorithmInterface, ActionDiscovery
Dialog to get user input, then call the algorithm.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 booleanautoThresholdDOCUMENT ME!private javax.swing.JCheckBoxautoThresholdCheckboxDOCUMENT ME!private ModelImageconfidenceImageprivate intcontrolPointsprivate floatconvertTommDOCUMENT ME!private booleancreateFieldDOCUMENT ME!private javax.swing.JCheckBoxcreateFieldCheckboxDOCUMENT ME!private int[]destExtentsDOCUMENT ME!private doubleendTolDOCUMENT ME!private floatfieldDistanceDOCUMENT ME!private ModelImagefieldImageDOCUMENT ME!private intfittingLevelsprivate ModelImageimageDOCUMENT ME!private doublekernelfwhmDOCUMENT ME!private javax.swing.JLabellabelControlPointsprivate javax.swing.JLabellabelDistanceDOCUMENT ME!private javax.swing.JLabellabelEndTolDOCUMENT ME!private javax.swing.JLabellabelFittingLevelsprivate javax.swing.JLabellabelKernelDOCUMENT ME!private javax.swing.JLabellabelMaxIterDOCUMENT ME!private javax.swing.JLabellabelNoiseDOCUMENT ME!private javax.swing.JLabellabelShrinkDOCUMENT ME!private javax.swing.JLabellabelSignalDOCUMENT ME!private intmaxIterDOCUMENT ME!private AlgorithmN4MRIBiasFieldCorrectionFilterN4AlgoDOCUMENT ME!private doublenoiseDOCUMENT ME!private float[]orgResolDOCUMENT ME!private booleanregionFlagDOCUMENT ME!private ModelImageresultImageDOCUMENT ME!private intresXUnitDOCUMENT ME!private intresYUnitDOCUMENT ME!private intresZUnitDOCUMENT ME!private floatshrinkDOCUMENT ME!private javax.swing.JTextFieldtextControlPointsprivate javax.swing.JTextFieldtextDistanceDOCUMENT ME!private javax.swing.JTextFieldtextEndTolDOCUMENT ME!private javax.swing.JTextFieldtextFittingLevelsprivate javax.swing.JTextFieldtextKernelDOCUMENT ME!private javax.swing.JTextFieldtextMaxIterDOCUMENT ME!private javax.swing.JTextFieldtextNoiseDOCUMENT ME!private javax.swing.JTextFieldtextShrinkDOCUMENT ME!private javax.swing.JTextFieldtextSignalDOCUMENT ME!private floatthresholdDOCUMENT ME!private booleanuseScriptDOCUMENT 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 JDialogN4MRIBiasFieldCorrection()Empty constructor needed for dynamic instantiation (used during scripting).JDialogN4MRIBiasFieldCorrection(java.awt.Frame theParentFrame, ModelImage im)Create new dialog to set parameters for N4 MRI Bias Field Correction algorithm.
-
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.protected voidcallAlgorithm()Once all the necessary variables are set, call the N4 MRI Bias Field Correction algorithm.ParameterTablecreateInputParameters()Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()).ParameterTablecreateOutputParameters()Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).protected voiddoPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.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()Sets up the GUI (panels, buttons, etc) and displays it on the screen.private voidinitVars()Initializes the variables (resolutions) needed for the algorithm.booleanisActionComplete()Returns whether the action has successfully completed its execution.voidsetAutoFlag(boolean flag)Accessor that sets the auto threshold flag.voidsetControlPoints(int controlPoints)voidsetCreateField(boolean flag)Accessor that sets the create field flag.voidsetEndTol(double scale)Accessor that sets the end tol.voidsetFieldDistance(float scale)Accessor that sets the field distance.voidsetFittingLevels(int fittingLevels)protected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetKernel(double scale)Accessor that sets the kernel.voidsetMaxIter(int max)Accessor that sets the max iterations.voidsetNoise(double scale)Accessor that sets the noise.voidsetRegionFlag(boolean flag)Accessor that sets the region flag.voidsetShrink(float scale)Accessor that sets the shrink.voidsetThreshold(float scale)Accessor that sets the 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, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gov.nih.mipav.view.dialogs.ActionDiscovery
scriptRun
-
-
-
-
Field Detail
-
autoThreshold
private boolean autoThreshold
DOCUMENT ME!
-
autoThresholdCheckbox
private javax.swing.JCheckBox autoThresholdCheckbox
DOCUMENT ME!
-
convertTomm
private float convertTomm
DOCUMENT ME!
-
createField
private boolean createField
DOCUMENT ME!
-
createFieldCheckbox
private javax.swing.JCheckBox createFieldCheckbox
DOCUMENT ME!
-
destExtents
private int[] destExtents
DOCUMENT ME!
-
endTol
private double endTol
DOCUMENT ME!
-
fieldDistance
private float fieldDistance
DOCUMENT ME!
-
fieldImage
private ModelImage fieldImage
DOCUMENT ME!
-
image
private ModelImage image
DOCUMENT ME!
-
kernelfwhm
private double kernelfwhm
DOCUMENT ME!
-
labelDistance
private javax.swing.JLabel labelDistance
DOCUMENT ME!
-
labelEndTol
private javax.swing.JLabel labelEndTol
DOCUMENT ME!
-
labelKernel
private javax.swing.JLabel labelKernel
DOCUMENT ME!
-
labelMaxIter
private javax.swing.JLabel labelMaxIter
DOCUMENT ME!
-
labelNoise
private javax.swing.JLabel labelNoise
DOCUMENT ME!
-
labelShrink
private javax.swing.JLabel labelShrink
DOCUMENT ME!
-
labelSignal
private javax.swing.JLabel labelSignal
DOCUMENT ME!
-
labelFittingLevels
private javax.swing.JLabel labelFittingLevels
-
labelControlPoints
private javax.swing.JLabel labelControlPoints
-
maxIter
private int maxIter
DOCUMENT ME!
-
N4Algo
private AlgorithmN4MRIBiasFieldCorrectionFilter N4Algo
DOCUMENT ME!
-
noise
private double noise
DOCUMENT ME!
-
orgResol
private float[] orgResol
DOCUMENT ME!
-
regionFlag
private boolean regionFlag
DOCUMENT ME!
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
resXUnit
private int resXUnit
DOCUMENT ME!
-
resYUnit
private int resYUnit
DOCUMENT ME!
-
resZUnit
private int resZUnit
DOCUMENT ME!
-
shrink
private float shrink
DOCUMENT ME!
-
textDistance
private javax.swing.JTextField textDistance
DOCUMENT ME!
-
textEndTol
private javax.swing.JTextField textEndTol
DOCUMENT ME!
-
textKernel
private javax.swing.JTextField textKernel
DOCUMENT ME!
-
textMaxIter
private javax.swing.JTextField textMaxIter
DOCUMENT ME!
-
textNoise
private javax.swing.JTextField textNoise
DOCUMENT ME!
-
textShrink
private javax.swing.JTextField textShrink
DOCUMENT ME!
-
textSignal
private javax.swing.JTextField textSignal
DOCUMENT ME!
-
textFittingLevels
private javax.swing.JTextField textFittingLevels
-
textControlPoints
private javax.swing.JTextField textControlPoints
-
fittingLevels
private int fittingLevels
-
controlPoints
private int controlPoints
-
threshold
private float threshold
DOCUMENT ME!
-
confidenceImage
private ModelImage confidenceImage
-
useScript
private boolean useScript
DOCUMENT ME!
-
VOIRegions
private javax.swing.JRadioButton VOIRegions
DOCUMENT ME!
-
wholeImage
private javax.swing.JRadioButton wholeImage
DOCUMENT ME!
-
-
Constructor Detail
-
JDialogN4MRIBiasFieldCorrection
public JDialogN4MRIBiasFieldCorrection()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogN4MRIBiasFieldCorrection
public JDialogN4MRIBiasFieldCorrection(java.awt.Frame theParentFrame, ModelImage im)Create new dialog to set parameters for N4 MRI Bias Field Correction algorithm.- 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.
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- The result image.
-
setAutoFlag
public void setAutoFlag(boolean flag)
Accessor that sets the auto threshold flag.- Parameters:
flag-trueindicates auto threshold,falseotherwise.
-
setCreateField
public void setCreateField(boolean flag)
Accessor that sets the create field flag.- Parameters:
flag-trueindicates create field image,falseotherwise.
-
setEndTol
public void setEndTol(double scale)
Accessor that sets the end tol.- Parameters:
scale- Value to set end tol to.
-
setFieldDistance
public void setFieldDistance(float scale)
Accessor that sets the field distance.- Parameters:
scale- Value to set field distance to.
-
setKernel
public void setKernel(double scale)
Accessor that sets the kernel.- Parameters:
scale- Value to set kernel to.
-
setMaxIter
public void setMaxIter(int max)
Accessor that sets the max iterations.- Parameters:
max- The max iterations
-
setNoise
public void setNoise(double scale)
Accessor that sets the noise.- Parameters:
scale- Value to set noise to.
-
setFittingLevels
public void setFittingLevels(int fittingLevels)
- Parameters:
fittingLevels-
-
setControlPoints
public void setControlPoints(int controlPoints)
- Parameters:
controlPoints-
-
setRegionFlag
public void setRegionFlag(boolean flag)
Accessor that sets the region flag.- Parameters:
flag-trueindicates the whole image is blurred,falseindicates a region.
-
setShrink
public void setShrink(float scale)
Accessor that sets the shrink.- Parameters:
scale- Value to set shrink to.
-
setThreshold
public void setThreshold(float scale)
Accessor that sets the threshold.- Parameters:
scale- Value to set the threshold to.
-
callAlgorithm
protected void callAlgorithm()
Once all the necessary variables are set, call the N4 MRI Bias Field Correction algorithm.- 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
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.
-
init
private void init()
Sets up the GUI (panels, buttons, etc) and displays it on the screen.
-
initVars
private void initVars()
Initializes the variables (resolutions) needed for the algorithm.
-
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
public ActionMetadata getActionMetadata()
Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
getActionMetadatain interfaceActionDiscovery- Returns:
- Metadata for this action.
-
createInputParameters
public ParameterTable 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
public ParameterTable 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
public java.lang.String getOutputImageName(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).- 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.
-
-