Class 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 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 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 data
      protected 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 stored
      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
      private 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 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
    • 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!
      • 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.
      • 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 interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        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 interface AlgorithmInterface
        Parameters:
        algorithm - Algorithm that caused the event.
      • 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 class JDialogScriptableBase
      • 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 class JDialogScriptableBase
      • 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 class JDialogScriptableBase
      • 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 interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        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 type
        value - value tested
        Returns:
        true if value is within acceptable range