Package gov.nih.mipav.view.dialogs
Class JDialogRegistrationOAR3D
- 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.JDialogRegistrationOAR3D
-
- 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 JDialogRegistrationOAR3D extends JDialogScriptableBase implements AlgorithmInterface, ActionDiscovery
Dialog to get user input, then call algorithm RegistrationOAR3D. The user must designate a reference image, a type of cost function, the degrees of freedom used in the registration, and the range and rate of the coarse and fine samples. These are set to defaults most likely to give a fast and accurate registration. The user may also select weighted images to discount parts of the reference and input images in the registration. These must be the same size as their respective originals - i.e., the reference weight image must be the same size as the reference image. The user can select to display the registered image. Regardless of whether this is selected, the matrix will be stored in a file in the user's working directory and also in the original image's transformation matrix.- Author:
- Neva Cherniavsky
- See Also:
AlgorithmCostFunctions
,AlgorithmRegOAR3D
, 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 javax.swing.JDialog
advancedDialog
Variables for Advanced Settings dialog.private javax.swing.JButton
buttonWeightInput
DOCUMENT ME!private javax.swing.JButton
buttonWeightRef
DOCUMENT ME!private boolean
calcCOG
DOCUMENT ME!private javax.swing.JCheckBox
calcCOGCheckbox
DOCUMENT ME!private javax.swing.JCheckBox
calcLSBox
DOCUMENT ME!private javax.swing.JPanel
coarsePanelX
DOCUMENT ME!private javax.swing.JPanel
coarsePanelY
DOCUMENT ME!private javax.swing.JPanel
coarsePanelZ
DOCUMENT ME!private javax.swing.JTextField
coarseRateTextX
DOCUMENT ME!private javax.swing.JTextField
coarseRateTextY
DOCUMENT ME!private javax.swing.JTextField
coarseRateTextZ
DOCUMENT ME!private float
coarseRateX
DOCUMENT ME!private float
coarseRateY
DOCUMENT ME!private float
coarseRateZ
DOCUMENT ME!private javax.swing.JComboBox
comboBoxCostFunct
DOCUMENT ME!private javax.swing.JComboBox
comboBoxDOF
DOCUMENT ME!private javax.swing.JComboBox
comboBoxImage
DOCUMENT ME!private javax.swing.JComboBox
comboBoxInterp
DOCUMENT ME!private javax.swing.JComboBox
comboBoxInterp2
DOCUMENT ME!private javax.swing.JComboBox
comboBoxSearchAlgo
private int
cost
DOCUMENT ME!private java.lang.String
costName
DOCUMENT ME!private int
dataType
private java.lang.String
directoryWInput
DOCUMENT ME!private java.lang.String
directoryWRef
DOCUMENT ME!private boolean
displayTransform
DOCUMENT ME!private boolean
doColor
DOCUMENT ME!private int
DOF
DOCUMENT ME!private boolean
doJTEM
When true, the full version of JTEM Powell search is used in the registration algorithm.private boolean
doLS
DOCUMENT ME!private boolean
doMultiThread
private boolean
doSubsample
DOCUMENT ME!private int
ELSUNC
private boolean
fastMode
DOCUMENT ME!private javax.swing.JCheckBox
fastModeCheckbox
DOCUMENT ME!private java.lang.String
fileNameWInput
DOCUMENT ME!private java.lang.String
fileNameWRef
DOCUMENT ME!private float
fillValue
private javax.swing.JPanel
finePanelX
DOCUMENT ME!private javax.swing.JPanel
finePanelY
DOCUMENT ME!private javax.swing.JPanel
finePanelZ
DOCUMENT ME!private javax.swing.JTextField
fineRateTextX
DOCUMENT ME!private javax.swing.JTextField
fineRateTextY
DOCUMENT ME!private javax.swing.JTextField
fineRateTextZ
DOCUMENT ME!private float
fineRateX
DOCUMENT ME!private float
fineRateY
DOCUMENT ME!private float
fineRateZ
DOCUMENT ME!private java.awt.GridBagConstraints
gbc
DOCUMENT ME!private double
imageMax
private double
imageMin
private ModelImage
inputWeightImage
DOCUMENT ME!private int
interp
DOCUMENT ME!private int
interp2
DOCUMENT ME!private javax.swing.JCheckBox
jtemCheckbox
Turns on the JTEM full version of Powell's algorithm on or offprivate javax.swing.JLabel
labelInterp2
DOCUMENT ME!private int
LEVENBERG_MARQUARDT
private boolean
lsCompleted
DOCUMENT ME!private ModelImage
lsImage
DOCUMENT ME!private TransMatrix
lsMatrix
DOCUMENT ME!private ModelImage
matchImage
DOCUMENT ME!private javax.swing.JComboBox
matrixComboBox
private java.lang.String
matrixDirectory
private javax.swing.JLabel
matrixLabel
private int
maxIterations
DOCUMENT ME!private int
maxIterations_def
DOCUMENT ME!private javax.swing.JTextField
maxIterationsText
DOCUMENT ME!private boolean
maxOfMinResol
DOCUMENT ME!private javax.swing.JCheckBox
minMaxCheckbox
DOCUMENT ME!private javax.swing.JCheckBox
multiThreadCheckBox
private int
NL2SOL
private javax.swing.JRadioButton
noneRadio
DOCUMENT ME!private int
numMinima
DOCUMENT ME!private int
numMinima_def
DOCUMENT ME!private javax.swing.JTextField
numMinText
DOCUMENT ME!private javax.swing.JComboBox
outOfBoundsComboBox
private int
outOfBoundsIndex
Tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image maximumprivate javax.swing.JLabel
outOfBoundsLabel
private int
POWELL
private ModelImage
refImage
DOCUMENT ME!private ModelImage
refWeightImage
DOCUMENT ME!private AlgorithmRegOAR3D
reg3
DOCUMENT ME!private AlgorithmRegELSUNCOAR3D
reg3E
private ModelImage
resultImage
DOCUMENT ME!private javax.swing.JTextField
rotateBeginTextX
DOCUMENT ME!private javax.swing.JTextField
rotateBeginTextY
DOCUMENT ME!private javax.swing.JTextField
rotateBeginTextZ
DOCUMENT ME!private float
rotateBeginX
DOCUMENT ME!private float
rotateBeginY
DOCUMENT ME!private float
rotateBeginZ
DOCUMENT ME!private javax.swing.JTextField
rotateEndTextX
DOCUMENT ME!private javax.swing.JTextField
rotateEndTextY
DOCUMENT ME!private javax.swing.JTextField
rotateEndTextZ
DOCUMENT ME!private float
rotateEndX
DOCUMENT ME!private float
rotateEndY
DOCUMENT ME!private float
rotateEndZ
DOCUMENT ME!private javax.swing.JPanel
rotatePanel
DOCUMENT ME!private javax.swing.JPanel
rotateRangePanelX
DOCUMENT ME!private javax.swing.JPanel
rotateRangePanelY
DOCUMENT ME!private javax.swing.JPanel
rotateRangePanelZ
DOCUMENT ME!private javax.swing.JCheckBox
sampleCheckbox
DOCUMENT ME!private int
searchAlgorithm
private static long
serialVersionUID
Use serialVersionUID for interoperability.private javax.swing.JTextField
textInput
DOCUMENT ME!private javax.swing.JTextField
textRef
DOCUMENT ME!private javax.swing.JCheckBox
transformCheckbox
DOCUMENT ME!private ViewUserInterface
UI
DOCUMENT ME!private javax.swing.JCheckBox
universalCheckbox
DOCUMENT ME!private javax.swing.JLabel
userDirectoryLabel
private javax.swing.JTextField
userDirectoryText
private javax.swing.JLabel
valueLabel
private javax.swing.JTextField
valueText
private javax.swing.JRadioButton
voiRadio
DOCUMENT ME!private boolean
voisOnly
DOCUMENT ME!private boolean
weighted
DOCUMENT ME!private javax.swing.JRadioButton
weightRadio
DOCUMENT ME!private javax.swing.JRadioButton
xRadio
DOCUMENT ME!private boolean
xSelected
DOCUMENT ME!private javax.swing.JRadioButton
yRadio
DOCUMENT ME!private boolean
ySelected
DOCUMENT ME!private javax.swing.JRadioButton
zRadio
DOCUMENT 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 JDialogRegistrationOAR3D()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogRegistrationOAR3D(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog for user to choose type of linear image registration algorithm to run.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed, sets the variables, and calls the algorithm.void
algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented.private javax.swing.JDialog
buildAdvancedDialog(int maxIter, int numMinima)
Build advanced settings dialog.private javax.swing.JComboBox
buildImgComboBox(ModelImage image)
Builds a list of images.protected void
callAlgorithm()
Calls the algorithm with the set-up parameters.ParameterTable
createInputParameters()
Returns a table listing the input parameters of this algorithm (which should match up with the scripting parameters used insetGUIFromParams()
).ParameterTable
createOutputParameters()
Returns a table listing the output parameters of this algorithm (usually just labels used to obtain output image names later).protected void
doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.ActionMetadata
getActionMetadata()
Return meta-information about this discoverable action for categorization and labeling purposes.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).ModelImage
getResultImage()
Accessor to get the result image.private void
init()
Initializes the GUI components and displays the dialog.boolean
isActionComplete()
Returns whether the action has successfully completed its execution.void
itemStateChanged(java.awt.event.ItemEvent event)
Changes the interpolation box to enabled or disabled depending on if the transform box is checked or not.void
setAdvancedSettings(int maxIterations, int numMinima)
Accessor to set the advanced settings.void
setCalcCOG(boolean flag)
Accessor to set the whether or not to calculate the center of gravity (mass).void
setCoarseBeginX(float x)
Accessor to set the coarse sample beginX.void
setCoarseBeginY(float y)
Accessor to set the coarse sample beginY.void
setCoarseBeginZ(float z)
Accessor to set the coarse sample beginZ.void
setCoarseEndX(float x)
Accessor to set the coarse sample endX.void
setCoarseEndY(float y)
Accessor to set the coarse sample endY.void
setCoarseEndZ(float z)
Accessor to set the coarse sample endZ.void
setCoarseRateX(float x)
Accessor to set the coarse sample rateX.void
setCoarseRateY(float y)
Accessor to set the coarse sample rateY.void
setCoarseRateZ(float z)
Accessor to set the coarse sample rateZ.void
setCostChoice(int x)
Accessor to set the choice of cost function.void
setDisplayTransform(boolean flag)
Accessor to set the display transform flag.void
setDOF(int x)
Accessor to set the degrees of freedom.void
setFastMode(boolean flag)
Accessor to set whether or not to execute the fast mode (skip sub sample and goto last final optimization).void
setFillValue(float fillValue)
Accessor to set intensity value for out of bounds datavoid
setFineRateX(float x)
Accessor to set the fine sample rateX.void
setFineRateY(float y)
Accessor to set the fine sample rateY.void
setFineRateZ(float z)
Accessor to set the fine sample rateZ.protected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setInputWeightImage(ModelImage im)
Accessor to set the input weight image.void
setInterp(int x)
Accessor to set the initial interpolation.void
setInterp2(int x)
Accessor to set the final interpolation.void
setMatrixDirectory(java.lang.String matrixDirectory)
Accessor to set directory in which the matrix file is storedvoid
setMaxOfMinResol(boolean flag)
Accessor to set the maximum resolutions flag.void
setMultiThread(boolean doMultiThread)
Accessor to set whether or not powell's algorithm uses multithreadingvoid
setOutOfBoundsIndex(int outOfBoundsIndex)
tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image maxvoid
setReferenceImage(ModelImage im)
Accessor to set the reference image.void
setReferenceWeightImage(ModelImage im)
Accessor to set the reference weight image.void
setSearchAlgorithm(int searchAlgorithm)
void
setSubsample(boolean doSubsample)
Accessor to set whether or not subsampling occurs.private boolean
setVariables()
Sets the variables needed to call the registration algorithm based on the values entered in the dialog.void
setVoisOnly(boolean flag)
Accessor to set the VOIs only flag.void
setWeighted(boolean flag)
Accessor to set the weighted images flag.private void
showX()
DOCUMENT ME!private void
showY()
DOCUMENT ME!private void
showZ()
DOCUMENT ME!protected void
storeParamsFromGUI()
Record the parameters just used to run this algorithm in a script.private boolean
testType(int type, float value)
Determine if the value is in the image type range and within the float range since AlgorithmTransform does not use double buffers.-
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, 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
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
POWELL
private final int POWELL
- See Also:
- Constant Field Values
-
ELSUNC
private final int ELSUNC
- See Also:
- Constant Field Values
-
LEVENBERG_MARQUARDT
private final int LEVENBERG_MARQUARDT
- See Also:
- Constant Field Values
-
NL2SOL
private final int NL2SOL
- See Also:
- Constant Field Values
-
searchAlgorithm
private int searchAlgorithm
-
advancedDialog
private javax.swing.JDialog advancedDialog
Variables for Advanced Settings dialog.
-
maxIterationsText
private javax.swing.JTextField maxIterationsText
DOCUMENT ME!
-
numMinText
private javax.swing.JTextField numMinText
DOCUMENT ME!
-
buttonWeightInput
private javax.swing.JButton buttonWeightInput
DOCUMENT ME!
-
buttonWeightRef
private javax.swing.JButton buttonWeightRef
DOCUMENT ME!
-
calcCOG
private boolean calcCOG
DOCUMENT ME!
-
calcCOGCheckbox
private javax.swing.JCheckBox calcCOGCheckbox
DOCUMENT ME!
-
calcLSBox
private javax.swing.JCheckBox calcLSBox
DOCUMENT ME!
-
multiThreadCheckBox
private javax.swing.JCheckBox multiThreadCheckBox
-
coarsePanelX
private javax.swing.JPanel coarsePanelX
DOCUMENT ME!
-
coarsePanelY
private javax.swing.JPanel coarsePanelY
DOCUMENT ME!
-
coarsePanelZ
private javax.swing.JPanel coarsePanelZ
DOCUMENT ME!
-
coarseRateTextX
private javax.swing.JTextField coarseRateTextX
DOCUMENT ME!
-
coarseRateTextY
private javax.swing.JTextField coarseRateTextY
DOCUMENT ME!
-
coarseRateTextZ
private javax.swing.JTextField coarseRateTextZ
DOCUMENT ME!
-
comboBoxCostFunct
private javax.swing.JComboBox comboBoxCostFunct
DOCUMENT ME!
-
comboBoxSearchAlgo
private javax.swing.JComboBox comboBoxSearchAlgo
-
comboBoxDOF
private javax.swing.JComboBox comboBoxDOF
DOCUMENT ME!
-
comboBoxImage
private javax.swing.JComboBox comboBoxImage
DOCUMENT ME!
-
comboBoxInterp
private javax.swing.JComboBox comboBoxInterp
DOCUMENT ME!
-
comboBoxInterp2
private javax.swing.JComboBox comboBoxInterp2
DOCUMENT ME!
-
cost
private int cost
DOCUMENT ME!
-
interp
private int interp
DOCUMENT ME!
-
interp2
private int interp2
DOCUMENT ME!
-
DOF
private int DOF
DOCUMENT ME!
-
costName
private java.lang.String costName
DOCUMENT ME!
-
displayTransform
private boolean displayTransform
DOCUMENT ME!
-
doColor
private boolean doColor
DOCUMENT ME!
-
doLS
private boolean doLS
DOCUMENT ME!
-
doMultiThread
private boolean doMultiThread
-
doSubsample
private boolean doSubsample
DOCUMENT ME!
-
doJTEM
private boolean doJTEM
When true, the full version of JTEM Powell search is used in the registration algorithm.
-
fastMode
private boolean fastMode
DOCUMENT ME!
-
fastModeCheckbox
private javax.swing.JCheckBox fastModeCheckbox
DOCUMENT ME!
-
fileNameWRef
private java.lang.String fileNameWRef
DOCUMENT ME!
-
directoryWRef
private java.lang.String directoryWRef
DOCUMENT ME!
-
fileNameWInput
private java.lang.String fileNameWInput
DOCUMENT ME!
-
directoryWInput
private java.lang.String directoryWInput
DOCUMENT ME!
-
finePanelX
private javax.swing.JPanel finePanelX
DOCUMENT ME!
-
finePanelY
private javax.swing.JPanel finePanelY
DOCUMENT ME!
-
finePanelZ
private javax.swing.JPanel finePanelZ
DOCUMENT ME!
-
fineRateTextX
private javax.swing.JTextField fineRateTextX
DOCUMENT ME!
-
fineRateTextY
private javax.swing.JTextField fineRateTextY
DOCUMENT ME!
-
fineRateTextZ
private javax.swing.JTextField fineRateTextZ
DOCUMENT ME!
-
gbc
private java.awt.GridBagConstraints gbc
DOCUMENT ME!
-
inputWeightImage
private ModelImage inputWeightImage
DOCUMENT ME!
-
refWeightImage
private ModelImage refWeightImage
DOCUMENT ME!
-
labelInterp2
private javax.swing.JLabel labelInterp2
DOCUMENT ME!
-
lsCompleted
private boolean lsCompleted
DOCUMENT ME!
-
lsImage
private ModelImage lsImage
DOCUMENT ME!
-
lsMatrix
private TransMatrix lsMatrix
DOCUMENT ME!
-
matchImage
private ModelImage matchImage
DOCUMENT ME!
-
maxIterations_def
private int maxIterations_def
DOCUMENT ME!
-
numMinima_def
private int numMinima_def
DOCUMENT ME!
-
maxIterations
private int maxIterations
DOCUMENT ME!
-
maxOfMinResol
private boolean maxOfMinResol
DOCUMENT ME!
-
minMaxCheckbox
private javax.swing.JCheckBox minMaxCheckbox
DOCUMENT ME!
-
noneRadio
private javax.swing.JRadioButton noneRadio
DOCUMENT ME!
-
numMinima
private int numMinima
DOCUMENT ME!
-
refImage
private ModelImage refImage
DOCUMENT ME!
-
reg3
private AlgorithmRegOAR3D reg3
DOCUMENT ME!
-
reg3E
private AlgorithmRegELSUNCOAR3D reg3E
-
resultImage
private ModelImage resultImage
DOCUMENT ME!
-
rotateBeginTextX
private javax.swing.JTextField rotateBeginTextX
DOCUMENT ME!
-
rotateBeginTextY
private javax.swing.JTextField rotateBeginTextY
DOCUMENT ME!
-
rotateBeginTextZ
private javax.swing.JTextField rotateBeginTextZ
DOCUMENT ME!
-
rotateBeginX
private float rotateBeginX
DOCUMENT ME!
-
rotateEndX
private float rotateEndX
DOCUMENT ME!
-
coarseRateX
private float coarseRateX
DOCUMENT ME!
-
fineRateX
private float fineRateX
DOCUMENT ME!
-
rotateBeginY
private float rotateBeginY
DOCUMENT ME!
-
rotateEndY
private float rotateEndY
DOCUMENT ME!
-
coarseRateY
private float coarseRateY
DOCUMENT ME!
-
fineRateY
private float fineRateY
DOCUMENT ME!
-
rotateBeginZ
private float rotateBeginZ
DOCUMENT ME!
-
rotateEndZ
private float rotateEndZ
DOCUMENT ME!
-
coarseRateZ
private float coarseRateZ
DOCUMENT ME!
-
fineRateZ
private float fineRateZ
DOCUMENT ME!
-
rotateEndTextX
private javax.swing.JTextField rotateEndTextX
DOCUMENT ME!
-
rotateEndTextY
private javax.swing.JTextField rotateEndTextY
DOCUMENT ME!
-
rotateEndTextZ
private javax.swing.JTextField rotateEndTextZ
DOCUMENT ME!
-
rotatePanel
private javax.swing.JPanel rotatePanel
DOCUMENT ME!
-
rotateRangePanelX
private javax.swing.JPanel rotateRangePanelX
DOCUMENT ME!
-
rotateRangePanelY
private javax.swing.JPanel rotateRangePanelY
DOCUMENT ME!
-
rotateRangePanelZ
private javax.swing.JPanel rotateRangePanelZ
DOCUMENT ME!
-
sampleCheckbox
private javax.swing.JCheckBox sampleCheckbox
DOCUMENT ME!
-
jtemCheckbox
private javax.swing.JCheckBox jtemCheckbox
Turns on the JTEM full version of Powell's algorithm on or off
-
textInput
private javax.swing.JTextField textInput
DOCUMENT ME!
-
textRef
private javax.swing.JTextField textRef
DOCUMENT ME!
-
transformCheckbox
private javax.swing.JCheckBox transformCheckbox
DOCUMENT ME!
-
UI
private ViewUserInterface UI
DOCUMENT ME!
-
universalCheckbox
private javax.swing.JCheckBox universalCheckbox
DOCUMENT ME!
-
voiRadio
private javax.swing.JRadioButton voiRadio
DOCUMENT ME!
-
voisOnly
private boolean voisOnly
DOCUMENT ME!
-
weighted
private boolean weighted
DOCUMENT ME!
-
weightRadio
private javax.swing.JRadioButton weightRadio
DOCUMENT ME!
-
xRadio
private javax.swing.JRadioButton xRadio
DOCUMENT ME!
-
xSelected
private boolean xSelected
DOCUMENT ME!
-
yRadio
private javax.swing.JRadioButton yRadio
DOCUMENT ME!
-
ySelected
private boolean ySelected
DOCUMENT ME!
-
zRadio
private javax.swing.JRadioButton zRadio
DOCUMENT ME!
-
outOfBoundsLabel
private javax.swing.JLabel outOfBoundsLabel
-
outOfBoundsComboBox
private javax.swing.JComboBox outOfBoundsComboBox
-
valueLabel
private javax.swing.JLabel valueLabel
-
valueText
private javax.swing.JTextField valueText
-
imageMin
private double imageMin
-
imageMax
private double imageMax
-
dataType
private int dataType
-
outOfBoundsIndex
private int outOfBoundsIndex
Tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image maximum
-
fillValue
private float fillValue
-
matrixLabel
private javax.swing.JLabel matrixLabel
-
matrixComboBox
private javax.swing.JComboBox matrixComboBox
-
matrixDirectory
private java.lang.String matrixDirectory
-
userDirectoryLabel
private javax.swing.JLabel userDirectoryLabel
-
userDirectoryText
private javax.swing.JTextField userDirectoryText
-
-
Constructor Detail
-
JDialogRegistrationOAR3D
public JDialogRegistrationOAR3D()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogRegistrationOAR3D
public JDialogRegistrationOAR3D(java.awt.Frame theParentFrame, ModelImage im)
Creates new dialog for user to choose type of linear image registration algorithm to run.- 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, sets the variables, and calls the algorithm.- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
- Overrides:
actionPerformed
in 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 complete.- Specified by:
algorithmPerformed
in interfaceAlgorithmInterface
- Parameters:
algorithm
- Algorithm that caused the event.
-
getResultImage
public ModelImage getResultImage()
Accessor to get the result image.- Returns:
- Result image.
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent event)
Changes the interpolation box to enabled or disabled depending on if the transform box is checked or not.- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
- Overrides:
itemStateChanged
in classJDialogBase
- Parameters:
event
- Event that triggered this function.
-
setAdvancedSettings
public void setAdvancedSettings(int maxIterations, int numMinima)
Accessor to set the advanced settings.- Parameters:
maxIterations
- DOCUMENT ME!numMinima
- DOCUMENT ME!
-
setCalcCOG
public void setCalcCOG(boolean flag)
Accessor to set the whether or not to calculate the center of gravity (mass).- Parameters:
flag
-true
then calculate center of gravity (mass).
-
setCoarseBeginX
public void setCoarseBeginX(float x)
Accessor to set the coarse sample beginX.- Parameters:
x
- Coarse beginX
-
setCoarseBeginY
public void setCoarseBeginY(float y)
Accessor to set the coarse sample beginY.- Parameters:
y
- Coarse beginY
-
setCoarseBeginZ
public void setCoarseBeginZ(float z)
Accessor to set the coarse sample beginZ.- Parameters:
z
- Coarse beginZ
-
setCoarseEndX
public void setCoarseEndX(float x)
Accessor to set the coarse sample endX.- Parameters:
x
- Coarse endX
-
setCoarseEndY
public void setCoarseEndY(float y)
Accessor to set the coarse sample endY.- Parameters:
y
- Coarse endY
-
setCoarseEndZ
public void setCoarseEndZ(float z)
Accessor to set the coarse sample endZ.- Parameters:
z
- Coarse endZ
-
setCoarseRateX
public void setCoarseRateX(float x)
Accessor to set the coarse sample rateX.- Parameters:
x
- Coarse rateX
-
setCoarseRateY
public void setCoarseRateY(float y)
Accessor to set the coarse sample rateY.- Parameters:
y
- Coarse rateY
-
setCoarseRateZ
public void setCoarseRateZ(float z)
Accessor to set the coarse sample rateZ.- Parameters:
z
- Coarse rateZ
-
setCostChoice
public void setCostChoice(int x)
Accessor to set the choice of cost function.- Parameters:
x
- Cost function.
-
setDisplayTransform
public void setDisplayTransform(boolean flag)
Accessor to set the display transform flag.- Parameters:
flag
-true
means display the transformed image.
-
setDOF
public void setDOF(int x)
Accessor to set the degrees of freedom.- Parameters:
x
- Degrees of freedom
-
setFastMode
public void setFastMode(boolean flag)
Accessor to set whether or not to execute the fast mode (skip sub sample and goto last final optimization).- Parameters:
flag
-true
then skip to level one (last ) optimization.
-
setFineRateX
public void setFineRateX(float x)
Accessor to set the fine sample rateX.- Parameters:
x
- Fine rateX
-
setFineRateY
public void setFineRateY(float y)
Accessor to set the fine sample rateY.- Parameters:
y
- Fine rateY
-
setFineRateZ
public void setFineRateZ(float z)
Accessor to set the fine sample rateZ.- Parameters:
z
- Fine rateZ
-
setInputWeightImage
public void setInputWeightImage(ModelImage im)
Accessor to set the input weight image.- Parameters:
im
- Input weight image.
-
setInterp
public void setInterp(int x)
Accessor to set the initial interpolation.- Parameters:
x
- Interpolation
-
setInterp2
public void setInterp2(int x)
Accessor to set the final interpolation.- Parameters:
x
- Interpolation
-
setMaxOfMinResol
public void setMaxOfMinResol(boolean flag)
Accessor to set the maximum resolutions flag.- Parameters:
flag
-true
then use the maximum of minimums of the resolutions of the images.
-
setReferenceImage
public void setReferenceImage(ModelImage im)
Accessor to set the reference image.- Parameters:
im
- Reference image.
-
setReferenceWeightImage
public void setReferenceWeightImage(ModelImage im)
Accessor to set the reference weight image.- Parameters:
im
- Reference weight image.
-
setSubsample
public void setSubsample(boolean doSubsample)
Accessor to set whether or not subsampling occurs.- Parameters:
doSubsample
- DOCUMENT ME!
-
setSearchAlgorithm
public void setSearchAlgorithm(int searchAlgorithm)
- Parameters:
searchAlgorithm
-
-
setMultiThread
public void setMultiThread(boolean doMultiThread)
Accessor to set whether or not powell's algorithm uses multithreading- Parameters:
doMultiThread
-
-
setVoisOnly
public void setVoisOnly(boolean flag)
Accessor to set the VOIs only flag.- Parameters:
flag
-true
then only register the parts of the images in the VOIs.
-
setWeighted
public void setWeighted(boolean flag)
Accessor to set the weighted images flag.- Parameters:
flag
-true
means there are weighted images.
-
setOutOfBoundsIndex
public void setOutOfBoundsIndex(int outOfBoundsIndex)
tells how to select fill value for out of bounds data 0 for image minimum 1 for NaN for float, zero otherwise. 2 for user defined 3 for image max- Parameters:
outOfBoundsIndex
-
-
setFillValue
public void setFillValue(float fillValue)
Accessor to set intensity value for out of bounds data- Parameters:
fillValue
-
-
setMatrixDirectory
public void setMatrixDirectory(java.lang.String matrixDirectory)
Accessor to set directory in which the matrix file is stored- Parameters:
matrixDirectory
-
-
callAlgorithm
protected void callAlgorithm()
Calls the algorithm with the set-up parameters.- Specified by:
callAlgorithm
in classJDialogScriptableBase
-
doPostAlgorithmActions
protected void doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.- Overrides:
doPostAlgorithmActions
in classJDialogScriptableBase
-
setGUIFromParams
protected void setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.- Specified by:
setGUIFromParams
in classJDialogScriptableBase
-
storeParamsFromGUI
protected void storeParamsFromGUI() throws ParserException
Record the parameters just used to run this algorithm in a script.- Specified by:
storeParamsFromGUI
in classJDialogScriptableBase
- Throws:
ParserException
- If there is a problem creating/recording the new parameters.
-
buildAdvancedDialog
private javax.swing.JDialog buildAdvancedDialog(int maxIter, int numMinima)
Build advanced settings dialog. Returns JDialog.- Parameters:
bracketBound
- DOCUMENT ME!maxIter
- DOCUMENT ME!numMinima
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
buildImgComboBox
private javax.swing.JComboBox buildImgComboBox(ModelImage image)
Builds a list of images. Returns combobox.- Parameters:
image
- DOCUMENT ME!- Returns:
- Newly created combo box.
-
init
private void init()
Initializes the GUI components and displays the dialog.
-
setVariables
private boolean setVariables()
Sets the variables needed to call the registration algorithm based on the values entered in the dialog.- Returns:
true
if the variables are properly set,false
otherwise.
-
testType
private boolean testType(int type, float value)
Determine if the value is in the image type range and within the float range since AlgorithmTransform does not use double buffers.- Parameters:
type
- image typevalue
- value tested- Returns:
- true if value is within acceptable range
-
showX
private void showX()
DOCUMENT ME!
-
showY
private void showY()
DOCUMENT ME!
-
showZ
private void showZ()
DOCUMENT ME!
-
getActionMetadata
public ActionMetadata getActionMetadata()
Return meta-information about this discoverable action for categorization and labeling purposes.- Specified by:
getActionMetadata
in 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:
createInputParameters
in 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:
createOutputParameters
in 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:
getOutputImageName
in 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:
isActionComplete
in interfaceActionDiscovery
- Returns:
- True, if the action is complete. False, if the action failed or is still running.
-
-