Package gov.nih.mipav.view.dialogs
Class JDialogRegistrationLeastSquares
- 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.JDialogRegistrationLeastSquares
-
- All Implemented Interfaces:
AlgorithmInterface
,ScriptableActionInterface
,DialogDefaultsInterface
,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
- Direct Known Subclasses:
JDialogRegistrationValidation
public class JDialogRegistrationLeastSquares extends JDialogScriptableBase implements AlgorithmInterface
Dialog to get user input, then call algorithmRegLeastSquares. Selects image is match image, the image that gets transformed until it is registered to the base image. Algorithms are executed in their own thread.- Version:
- 0.1 May 19, 1999
- Author:
- Delia McGarry
- 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 protected ModelImage
baseImage
Base image - register match image to base image.private javax.swing.JComboBox
comboBoxImage
Combo box with image names for choosing base image.private int
dataType
private int
DIM
Number of dimensions in match image.private float
fillValue
private boolean
fromOAR3D
DOCUMENT ME!private boolean
haveNonPointVOI
private double
imageMax
private double
imageMin
private boolean
lsCompleted
DOCUMENT ME!private AlgorithmRegLeastSquares
LSMatch
Algorithm to run from this dialog.protected ModelImage
matchImage
Match image - register match image to base image.private javax.swing.JComboBox
matrixComboBox
private java.lang.String
matrixDirectory
private javax.swing.JLabel
matrixLabel
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
protected ModelImage
resultImage
Result image - image returned from registration algorithm.private TransMatrix
resultMatrix
DOCUMENT ME!private static long
serialVersionUID
Use serialVersionUID for interoperability.private java.lang.String[]
titles
Used to lock and unlock images.private javax.swing.JLabel
userDirectoryLabel
private javax.swing.JTextField
userDirectoryText
private ViewUserInterface
userInterface
Reference to userface.private javax.swing.JLabel
valueLabel
private javax.swing.JTextField
valueText
private int
xdimA
Dimensions of match image and base image.private float
xresA
Resolutions of match image and base image.private float
xresB
Resolutions of match image and base image.private int
ydimA
Dimensions of match image and base image.private float
yresA
Resolutions of match image and base image.private float
yresB
Resolutions of match image and base image.private int
zdimA
Dimensions of match image and base image.private float
zresA
Resolutions of match image and base image.private float
zresB
Resolutions of match image and base image.-
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 JDialogRegistrationLeastSquares()
Empty constructor needed for dynamic instantiation (used during scripting).JDialogRegistrationLeastSquares(java.awt.Frame theParentFrame, ModelImage im)
Creates new registration dialog to get base image name.JDialogRegistrationLeastSquares(java.awt.Frame theParentFrame, ModelImage _mi, ModelImage _ri)
Creates a new JDialogRegistrationLeastSquares object.
-
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, set variables, and calls the algorithm.void
algorithmPerformed(AlgorithmBase algorithm)
This method is required if the AlgorithmPerformed interface is implemented.protected javax.swing.JPanel
buildExtentsPanel()
protected javax.swing.JPanel
buildImagePanel()
private javax.swing.JComboBox
buildImgComboBox(ModelImage image)
Builds a list of images.protected void
callAlgorithm()
Sets arrays appropriately and calls registration algorithm, running it in it's own thread.protected void
doPostAlgorithmActions()
Store the result image in the script runner's image table now that the action execution is finished.boolean
getLSCompleted()
Accessor that returns whether or not the algorithm successfully completed.ModelImage
getResultImage()
Accessor that returns the image.TransMatrix
getResultMatrix()
Gets the result matrix (only used by OAR3D).protected void
init()
Initializes GuserInterface components and displays dialog.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
setFillValue(float fillValue)
Accessor to set intensity value for out of bounds dataprotected void
setGUIFromParams()
Set the dialog GUI using the script parameters while running this algorithm as part of a script.void
setMatrixDirectory(java.lang.String matrixDirectory)
Accessor to set directory in which the matrix file is storedvoid
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 maxprivate boolean
setVariables()
Sets the variables needed for calling the algorithm.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.private void
transform2DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)
private void
transform3DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)
-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
-
baseImage
protected ModelImage baseImage
Base image - register match image to base image.
-
comboBoxImage
private javax.swing.JComboBox comboBoxImage
Combo box with image names for choosing base image.
-
DIM
private int DIM
Number of dimensions in match image.
-
fromOAR3D
private boolean fromOAR3D
DOCUMENT ME!
-
lsCompleted
private boolean lsCompleted
DOCUMENT ME!
-
LSMatch
private AlgorithmRegLeastSquares LSMatch
Algorithm to run from this dialog.
-
matchImage
protected ModelImage matchImage
Match image - register match image to base image.
-
resultImage
protected ModelImage resultImage
Result image - image returned from registration algorithm.
-
resultMatrix
private TransMatrix resultMatrix
DOCUMENT ME!
-
titles
private java.lang.String[] titles
Used to lock and unlock images.
-
userInterface
private ViewUserInterface userInterface
Reference to userface.
-
xdimA
private int xdimA
Dimensions of match image and base image.
-
ydimA
private int ydimA
Dimensions of match image and base image.
-
zdimA
private int zdimA
Dimensions of match image and base image.
-
xresA
private float xresA
Resolutions of match image and base image.
-
yresA
private float yresA
Resolutions of match image and base image.
-
zresA
private float zresA
Resolutions of match image and base image.
-
xresB
private float xresB
Resolutions of match image and base image.
-
yresB
private float yresB
Resolutions of match image and base image.
-
zresB
private float zresB
Resolutions of match image and base image.
-
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
-
haveNonPointVOI
private boolean haveNonPointVOI
-
-
Constructor Detail
-
JDialogRegistrationLeastSquares
public JDialogRegistrationLeastSquares()
Empty constructor needed for dynamic instantiation (used during scripting).
-
JDialogRegistrationLeastSquares
public JDialogRegistrationLeastSquares(java.awt.Frame theParentFrame, ModelImage im)
Creates new registration dialog to get base image name.- Parameters:
theParentFrame
- Parent frame.im
- Source image.
-
JDialogRegistrationLeastSquares
public JDialogRegistrationLeastSquares(java.awt.Frame theParentFrame, ModelImage _mi, ModelImage _ri)
Creates a new JDialogRegistrationLeastSquares object.- Parameters:
theParentFrame
- DOCUMENT ME!_mi
- DOCUMENT ME!_ri
- DOCUMENT ME!
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent event)
Closes dialog box when the OK button is pressed, set 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 to complete.- Specified by:
algorithmPerformed
in interfaceAlgorithmInterface
- Parameters:
algorithm
- Algorithm that caused the event.
-
transform2DVOI
private void transform2DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)
-
transform3DVOI
private void transform3DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)
-
getLSCompleted
public boolean getLSCompleted()
Accessor that returns whether or not the algorithm successfully completed.- Returns:
- boolean
-
getResultImage
public ModelImage getResultImage()
Accessor that returns the image.- Returns:
- The result image
-
getResultMatrix
public TransMatrix getResultMatrix()
Gets the result matrix (only used by OAR3D).- Returns:
- TransMatrix
-
callAlgorithm
protected void callAlgorithm()
Sets arrays appropriately and calls registration algorithm, running it in it's own thread.- 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
-
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
-
-
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.
-
init
protected void init()
Initializes GuserInterface components and displays dialog.
-
buildImagePanel
protected javax.swing.JPanel buildImagePanel()
-
buildExtentsPanel
protected javax.swing.JPanel buildExtentsPanel()
-
buildImgComboBox
private javax.swing.JComboBox buildImgComboBox(ModelImage image)
Builds a list of images. Returns combobox.- Parameters:
image
- DOCUMENT ME!- Returns:
- Newly created combo box.
-
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.
-
setVariables
private boolean setVariables()
Sets the variables needed for calling the algorithm.- Returns:
true
if successful in setting variables.
-
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
-
-