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 ModelImagebaseImageBase image - register match image to base image.private javax.swing.JComboBoxcomboBoxImageCombo box with image names for choosing base image.private intdataTypeprivate intDIMNumber of dimensions in match image.private floatfillValueprivate booleanfromOAR3DDOCUMENT ME!private booleanhaveNonPointVOIprivate doubleimageMaxprivate doubleimageMinprivate booleanlsCompletedDOCUMENT ME!private AlgorithmRegLeastSquaresLSMatchAlgorithm to run from this dialog.protected ModelImagematchImageMatch image - register match image to base image.private javax.swing.JComboBoxmatrixComboBoxprivate java.lang.StringmatrixDirectoryprivate javax.swing.JLabelmatrixLabelprivate javax.swing.JComboBoxoutOfBoundsComboBoxprivate intoutOfBoundsIndexTells 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.JLabeloutOfBoundsLabelprotected ModelImageresultImageResult image - image returned from registration algorithm.private TransMatrixresultMatrixDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private java.lang.String[]titlesUsed to lock and unlock images.private javax.swing.JLabeluserDirectoryLabelprivate javax.swing.JTextFielduserDirectoryTextprivate ViewUserInterfaceuserInterfaceReference to userface.private javax.swing.JLabelvalueLabelprivate javax.swing.JTextFieldvalueTextprivate intxdimADimensions of match image and base image.private floatxresAResolutions of match image and base image.private floatxresBResolutions of match image and base image.private intydimADimensions of match image and base image.private floatyresAResolutions of match image and base image.private floatyresBResolutions of match image and base image.private intzdimADimensions of match image and base image.private floatzresAResolutions of match image and base image.private floatzresBResolutions 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 voidactionPerformed(java.awt.event.ActionEvent event)Closes dialog box when the OK button is pressed, set variables, and calls the algorithm.voidalgorithmPerformed(AlgorithmBase algorithm)This method is required if the AlgorithmPerformed interface is implemented.protected javax.swing.JPanelbuildExtentsPanel()protected javax.swing.JPanelbuildImagePanel()private javax.swing.JComboBoxbuildImgComboBox(ModelImage image)Builds a list of images.protected voidcallAlgorithm()Sets arrays appropriately and calls registration algorithm, running it in it's own thread.protected voiddoPostAlgorithmActions()Store the result image in the script runner's image table now that the action execution is finished.booleangetLSCompleted()Accessor that returns whether or not the algorithm successfully completed.ModelImagegetResultImage()Accessor that returns the image.TransMatrixgetResultMatrix()Gets the result matrix (only used by OAR3D).protected voidinit()Initializes GuserInterface components and displays dialog.voiditemStateChanged(java.awt.event.ItemEvent event)Changes the interpolation box to enabled or disabled depending on if the transform box is checked or not.voidsetFillValue(float fillValue)Accessor to set intensity value for out of bounds dataprotected voidsetGUIFromParams()Set the dialog GUI using the script parameters while running this algorithm as part of a script.voidsetMatrixDirectory(java.lang.String matrixDirectory)Accessor to set directory in which the matrix file is storedvoidsetOutOfBoundsIndex(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 booleansetVariables()Sets the variables needed for calling the algorithm.protected voidstoreParamsFromGUI()Record the parameters just used to run this algorithm in a script.private booleantestType(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 voidtransform2DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)private voidtransform3DVOI(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:
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.- Specified by:
algorithmPerformedin 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:
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
-
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:
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
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:
itemStateChangedin interfacejava.awt.event.ItemListener- Overrides:
itemStateChangedin classJDialogBase- Parameters:
event- Event that triggered this function.
-
setVariables
private boolean setVariables()
Sets the variables needed for calling the algorithm.- Returns:
trueif 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
-
-