Class ViewJFrameRegistrationTool

  • All Implemented Interfaces:
    VOIManagerInterfaceListener, ViewImageUpdateInterface, java.awt.event.ActionListener, java.awt.event.ComponentListener, 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.event.ChangeListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class ViewJFrameRegistrationTool
    extends ViewJFrameBase
    implements java.awt.event.ItemListener, javax.swing.event.ChangeListener, java.awt.event.FocusListener, java.awt.event.WindowListener, VOIManagerInterfaceListener
    ViewJFrameRegistrationTool is called in ViewJFrameImage. ViewJFrameRegistrationTool calls ViewJComponentRegistration.

    In ordinary image dragging you simply drag one image. Here the adjustable slice is moved while the reference slice stays fixed, and a bilinear transformation followed by an alpha blending of the 2 images occurs. Because g.drawImage in ViewJComponentBase draws the blended image, the movement cannot simply be performed by changing the parameters of g.drawImage.

    The adjustable image slice moves are determined by floating point values fed into a transform routine that performs bilinear interpolation.

    The file menu has 2 items, Show VOIs in blended window and Close registration. An alpha blending slider determines the percentages of the image produced by the reference slice(image R) and the adjusted slice(imageA). 2 tabs are present, blended and dual. On the blended tab 17 toolbar buttons are present:

    1.) Display LUT table calls forth a display panel which allows the user to set separate histograms for the reference and adjusted slices.
    2.) Create checkerboard pattern
    3.) Magnify image 2.0X.
    4.) Magnify image 0.5X.
    5.) Window region of imageB
    6.) Reset to return slice to original state and remove all markers
    7.) Commit the slice to the image.
    8.) Set the pixel increment for image translations and movements of the rotation center. Values can range from 0.01 to 2048.0. Movements of the rotation center will only be performed to the nearest integer. The default value is 1.0 pixels.
    9.) Put in translate mode. In this mode the image can either be moved with the up, down, right, and left buttons or moved a distance and direction with mouse dragging. 10.) up button for image translation in translate mode.
    11.) down button for image translation in translate mode.
    12.) right button for image translation in translate mode.
    13.) left button for image translation in translate mode.
    14.) Set degree increment for image rotations. Values can range from 0.01 to 360.0 degrees. The default value is 1.0 degrees.
    15.) Put in rotate mode for rotating the image. In this mode the image can be moved either with the cw and ccw buttons or moved an angle around the rotation center point as given by mouse dragging. The initial rotation point is the center, but a new rotation point can be set with a mouse press.
    16.) cw button for rotating an image clockwise in rotate mode.
    17.) ccw button for rotating an image counterclockwise in rotate mode.
    On the dual tab 16 toolbar buttons are present:

    *

    1.) Display LUT table calls forth a display panel which allows the user to set separate histograms for the reference and adjusted slices.
    2.) Magnify reference image 2.0X.
    3.) Magnify reference image 0.5X.
    4.) Magnify adjusted image 2.0X.
    5.) Magnify adjusted image 0.5X.
    6.) Apply least squares alignment.
    7.) Apply thin plate spline alignment.
    8.) Reset image to original state and remove all markers.
    9.) Put in POINT_VOI mode for setting the location of reference slice markers. Red markers are used.
    10.) Put in the POINT_VOI mode for setting the location of adjusted slice markers. Green markers are used.
    11.) Delete selected reference slice markers.
    12.) Delete selected adjusted slice markers.
    13.) Copy reference markers to the adjusted image.
    14.) Copy adjusted markers to the reference image.
    15.) Return to default mode.
    16.) Commit the slice to image.

    Version:
    1.0
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • ROTATIONCENTER

        public static final int ROTATIONCENTER
        The 3 types of markers - rotation center, reference slice, and adjusted slice.
        See Also:
        Constant Field Values
      • toggleArray

        public javax.swing.JToggleButton[] toggleArray
        DOCUMENT ME!
      • serif12

        protected java.awt.Font serif12
        DOCUMENT ME!
      • adjMark

        private int adjMark
        DOCUMENT ME!
      • adjMarkButton

        private javax.swing.JToggleButton adjMarkButton
        DOCUMENT ME!
      • adjMarkMinusButton

        private javax.swing.JButton adjMarkMinusButton
        DOCUMENT ME!
      • alphaSlider

        private javax.swing.JSlider alphaSlider
        DOCUMENT ME!
      • bothPanel

        private javax.swing.JPanel bothPanel
        DOCUMENT ME!
      • bufferFactor

        private int bufferFactor
        DOCUMENT ME!
      • bufferSize

        private int bufferSize
        DOCUMENT ME!
      • buttonArray

        private javax.swing.JButton[] buttonArray
        DOCUMENT ME!
      • ccwButton

        private javax.swing.JButton ccwButton
        DOCUMENT ME!
      • controlPanel

        private javax.swing.JPanel controlPanel
        DOCUMENT ME!
      • copyAdjToRefButton

        private javax.swing.JButton copyAdjToRefButton
        DOCUMENT ME!
      • copyRefToAdjButton

        private javax.swing.JButton copyRefToAdjButton
        DOCUMENT ME!
      • cpGBC

        private java.awt.GridBagConstraints cpGBC
        DOCUMENT ME!
      • cpGBL

        private java.awt.GridBagLayout cpGBL
        DOCUMENT ME!
      • curAdjMark

        private int curAdjMark
        DOCUMENT ME!
      • curRefMark

        private int curRefMark
        DOCUMENT ME!
      • cwButton

        private javax.swing.JButton cwButton
        DOCUMENT ME!
      • defaultModeButton

        private javax.swing.JToggleButton defaultModeButton
        DOCUMENT ME!
      • degreeIncrement

        private float degreeIncrement
        DOCUMENT ME!
      • degreeIncrementButton

        private javax.swing.JButton degreeIncrementButton
        DOCUMENT ME!
      • doDrag

        private boolean doDrag
        DOCUMENT ME!
      • doneLeastSquares

        private boolean doneLeastSquares
        DOCUMENT ME!
      • doRegionB

        private boolean doRegionB
        DOCUMENT ME!
      • downButton

        private javax.swing.JButton downButton
        DOCUMENT ME!
      • etchedBorder

        private javax.swing.border.Border etchedBorder
        DOCUMENT ME!
      • extents

        private int[] extents
        DOCUMENT ME!
      • fileMenu

        private javax.swing.JMenu fileMenu
        DOCUMENT ME!
      • firstDraw

        private boolean firstDraw
        DOCUMENT ME!
      • font12

        private java.awt.Font font12
        DOCUMENT ME!
      • gbc

        private java.awt.GridBagConstraints gbc
        DOCUMENT ME!
      • helpMenu

        private javax.swing.JMenu helpMenu
        DOCUMENT ME!
      • i

        private int i
        DOCUMENT ME!
      • j

        private int j
        DOCUMENT ME!
      • imageBufferA

        private float[] imageBufferA
        DOCUMENT ME!
      • imageBufferB

        private float[] imageBufferB
        DOCUMENT ME!
      • imageBufferOriginalB

        private float[] imageBufferOriginalB
        DOCUMENT ME!
      • imageSize

        private int imageSize
        DOCUMENT ME!
      • itemClose

        private javax.swing.JMenuItem itemClose
        DOCUMENT ME!
      • itemHelp

        private javax.swing.JMenuItem itemHelp
        DOCUMENT ME!
      • leftButton

        private javax.swing.JButton leftButton
        DOCUMENT ME!
      • logMagDisplay

        private boolean logMagDisplay
        DOCUMENT ME!
      • lsPerformed

        private boolean lsPerformed
        DOCUMENT ME!
      • mode

        private int mode
        DOCUMENT ME!
      • movementGroup

        private javax.swing.ButtonGroup movementGroup
        DOCUMENT ME!
      • n

        private int n
        DOCUMENT ME!
      • newAlphaBlend

        private int newAlphaBlend
        DOCUMENT ME!
      • newExtents

        private int[] newExtents
        DOCUMENT ME!
      • openingMenuBar

        private javax.swing.JMenuBar openingMenuBar
        DOCUMENT ME!
      • pixBuffer

        private int[] pixBuffer
        DOCUMENT ME!
      • pixBufferB

        private int[] pixBufferB
        DOCUMENT ME!
      • pixBufferCompA

        private int[] pixBufferCompA
        DOCUMENT ME!
      • pixBufferCompB

        private int[] pixBufferCompB
        DOCUMENT ME!
      • pixelIncrement

        private float pixelIncrement
        DOCUMENT ME!
      • pixelIncrementButton

        private javax.swing.JButton pixelIncrementButton
        DOCUMENT ME!
      • pointSetA

        private double[][] pointSetA
        DOCUMENT ME!
      • pointSetB

        private double[][] pointSetB
        DOCUMENT ME!
      • pointSetBT

        private double[][] pointSetBT
        DOCUMENT ME!
      • refMark

        private int refMark
        DOCUMENT ME!
      • refMarkButton

        private javax.swing.JToggleButton refMarkButton
        DOCUMENT ME!
      • refMarkMinusButton

        private javax.swing.JButton refMarkMinusButton
        DOCUMENT ME!
      • regButton

        private javax.swing.JToggleButton regButton
        DOCUMENT ME!
      • RGBa

        private ModelRGB RGBa
        DOCUMENT ME!
      • RGBb

        private ModelRGB RGBb
        DOCUMENT ME!
      • rightButton

        private javax.swing.JButton rightButton
        DOCUMENT ME!
      • rotateButton

        private javax.swing.JToggleButton rotateButton
        DOCUMENT ME!
      • scrollPane

        private javax.swing.JScrollPane scrollPane
        DOCUMENT ME!
      • scrollPaneSeparateA

        private javax.swing.JScrollPane scrollPaneSeparateA
        DOCUMENT ME!
      • scrollPaneSeparateB

        private javax.swing.JScrollPane scrollPaneSeparateB
        DOCUMENT ME!
      • scrollPaneSize

        private int scrollPaneSize
        DOCUMENT ME!
      • secondImage

        private ModelImage secondImage
        DOCUMENT ME!
      • separatePanel

        private javax.swing.JPanel separatePanel
        DOCUMENT ME!
      • showVOIs

        private javax.swing.JCheckBoxMenuItem showVOIs
        DOCUMENT ME!
      • tabbedPane

        private javax.swing.JTabbedPane tabbedPane
        DOCUMENT ME!
      • toolBar

        private javax.swing.JToolBar toolBar
        DOCUMENT ME!
      • toolBar2

        private javax.swing.JToolBar toolBar2
        DOCUMENT ME!
      • toolBarSep

        private javax.swing.JToolBar toolBarSep
        DOCUMENT ME!
      • topPanel

        private javax.swing.JPanel topPanel
        DOCUMENT ME!
      • translateButton

        private javax.swing.JToggleButton translateButton
        DOCUMENT ME!
      • upButton

        private javax.swing.JButton upButton
        DOCUMENT ME!
      • xCoords

        private int[] xCoords
        DOCUMENT ME!
      • xDim

        private int xDim
        DOCUMENT ME!
      • xOrg

        private int[] xOrg
        DOCUMENT ME!
      • xRes

        private float xRes
        DOCUMENT ME!
      • xRotation

        private float xRotation
        DOCUMENT ME!
      • xScreen

        private int xScreen
        DOCUMENT ME!
      • yScreen

        private int yScreen
        DOCUMENT ME!
      • yCoords

        private int[] yCoords
        DOCUMENT ME!
      • yDim

        private int yDim
        DOCUMENT ME!
      • yOrg

        private int[] yOrg
        DOCUMENT ME!
      • yRes

        private float yRes
        DOCUMENT ME!
      • yRotation

        private float yRotation
        DOCUMENT ME!
      • zoom

        private float zoom
        DOCUMENT ME!
      • costFunctionTextArea

        private javax.swing.JTextArea costFunctionTextArea
      • costFunctionScrollPane

        private javax.swing.JScrollPane costFunctionScrollPane
        Scroll Pane for the Text Area
      • simpleImg1

        private ModelSimpleImage simpleImg1
        Holds extents, other info about firstImage and SecondImage
      • simpleImg2

        private ModelSimpleImage simpleImg2
        Holds extents, other info about firstImage and SecondImage
      • tMatrix

        private TransMatrix tMatrix
        Identity matrix for testing cost
      • calculateCostButton

        private javax.swing.JButton calculateCostButton
    • Constructor Detail

      • ViewJFrameRegistrationTool

        public ViewJFrameRegistrationTool​(ModelImage _image,
                                          ModelImage _image2,
                                          ModelStorageBase _LUT,
                                          ModelStorageBase _LUT2)
        Makes a frame of the manually registered image.
        Parameters:
        _image - the first image
        _image2 - the second image
        _LUT - lut for the first image
        _LUT2 - lut for the second image
    • Method Detail

      • SQR

        public static final double SQR​(double x)
        SQR = x^2.
        Parameters:
        x - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Calls various methods depending on the action.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Specified by:
        actionPerformed in class ViewJFrameBase
        Parameters:
        event - event that triggered function
      • buildXfrm

        public TransMatrix buildXfrm​(double[] p1,
                                     double[] p2,
                                     Jama.Matrix R)
        Builds 4x4 transformation matrix from R and T T=p2-R*p1.
        Parameters:
        p1 - from Match
        p2 - from Match
        R - matrix from Match
        Returns:
        transformation matrix
      • calculateResiduals

        public void calculateResiduals()
        Calculates the residuals of the least squares fit.
      • close

        public void close()
        Disposes of components and frame.
        Overrides:
        close in class ViewJFrameBase
      • componentResized

        public void componentResized​(java.awt.event.ComponentEvent event)
        Resizes frame and all components.
        Specified by:
        componentResized in interface java.awt.event.ComponentListener
        Overrides:
        componentResized in class ViewJFrameBase
        Parameters:
        event - event that triggered function
      • euclideanDistance

        public double euclideanDistance​(double[] ptA,
                                        double[] ptB)
        Calculates the Euclidean distance.
        Parameters:
        ptA - point A
        ptB - point B
        Returns:
        the euclidean distatnce between points
      • finalize

        public void finalize()
        Finalizes and closes the window.
        Overrides:
        finalize in class ViewJFrameBase
      • focusGained

        public void focusGained​(java.awt.event.FocusEvent event)
        Currently unused.
        Specified by:
        focusGained in interface java.awt.event.FocusListener
        Parameters:
        event - DOCUMENT ME!
      • focusLost

        public void focusLost​(java.awt.event.FocusEvent event)
        Currently unused.
        Specified by:
        focusLost in interface java.awt.event.FocusListener
        Parameters:
        event - DOCUMENT ME!
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        sets the flags for the checkboxes.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Parameters:
        event - event that triggered this function
      • removeControls

        public void removeControls()
        Removes the menu and controls of the main frame so that a new frame can load the main frame with the proper controls. Currently unused.
        Specified by:
        removeControls in class ViewJFrameBase
      • setActiveImage

        public void setActiveImage​(int active)
        Sets the active image for drawing VOIs. VOIs are only drawn in the active image. In addition, algorithms are executed on the active window.
        Specified by:
        setActiveImage in interface VOIManagerInterfaceListener
        Specified by:
        setActiveImage in class ViewJFrameBase
        Parameters:
        active - IMAGE_A or IMAGE_B
      • setAlphaBlend

        public void setAlphaBlend​(int value)
        Sets the alpha blending of parameter for two image displaying. Currently unused.
        Specified by:
        setAlphaBlend in class ViewJFrameBase
        Parameters:
        value - amount [0,100] that is the percentage of Image A to be displayed
      • setControls

        public void setControls()
        Sets the menu and controls (i.e. toolbars) of the main frame! This puts the menus and controls needed to controls the operations of this frame. Different image frames have different menu and controls. Currently unused.
        Specified by:
        setControls in class ViewJFrameBase
      • setDefaultMode

        public void setDefaultMode()
        setDefaultMode.
      • setEnabled

        public void setEnabled​(boolean flag)
        Controls whether or not the images/VOIs of the frame can be modified. Currently unused.
        Specified by:
        setEnabled in class ViewJFrameBase
        Parameters:
        flag - if true the image/VOIs can be modified; if false image/VOIs can NOT be modified
      • setImageB

        public void setImageB​(ModelImage _imageB)
        Sets the reference to imageB. Currently unused.
        Specified by:
        setImageB in class ViewJFrameBase
        Parameters:
        _imageB - Image to set the frame to
      • setLUTa

        public void setLUTa​(ModelLUT LUT)
        Sets the model LUT for the imageA.
        Overrides:
        setLUTa in class ViewJFrameBase
        Parameters:
        LUT - the model LUT
      • setLUTb

        public void setLUTb​(ModelLUT LUT)
        setLUTb - accessor that sets the model LUTb for the imageB.
        Overrides:
        setLUTb in class ViewJFrameBase
        Parameters:
        LUT - the model LUT
      • setMode

        public void setMode​(int mode)
        sets mode.
        Parameters:
        mode - DOCUMENT ME!
      • setMove

        public void setMove​(float xStart,
                            float yStart,
                            float xFinish,
                            float yFinish)
        If doDrag == false, this routine processes movements generated by mouse presses and releases. The mouse press location sets (xStart,yStart) and the mouse release location sets (xFinish,yFinish). If doDrag == true, this routine processes movements generated by mouse press and drag events.
        Parameters:
        xStart - DOCUMENT ME!
        yStart - DOCUMENT ME!
        xFinish - DOCUMENT ME!
        yFinish - DOCUMENT ME!
      • setPaintBitmapSwitch

        public void setPaintBitmapSwitch​(boolean paintBitmapSwitch)
        When switching the active image, take the paintBitmap of the previous active image as the paintBitmap of the new active image.
        Specified by:
        setPaintBitmapSwitch in class ViewJFrameBase
        Parameters:
        paintBitmapSwitch - if true don't copy the new acitve image mask
      • setRGBTA

        public void setRGBTA​(ModelRGB RGBT)
        Sets the RGB LUT table for ARGB image A.
        Specified by:
        setRGBTA in class ViewJFrameBase
        Parameters:
        RGBT - the new RGB LUT to be applied to the image
      • setRGBTB

        public void setRGBTB​(ModelRGB RGBT)
        Sets the RGB LUT table for ARGB image B.
        Specified by:
        setRGBTB in class ViewJFrameBase
        Parameters:
        RGBT - the new RGB LUT to be applied to the image
      • setRotationCenter

        public void setRotationCenter​(float xRot,
                                      float yRot)
        Sets the coordinates of the point the will be the new image rotation center.
        Parameters:
        xRot - DOCUMENT ME!
        yRot - DOCUMENT ME!
      • setTitle

        public void setTitle()
        sets the title of the frame with the image name and magnification.
        Specified by:
        setTitle in class ViewJFrameBase
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        sets values based on knob along slider and catches the tabbed pane switching events.
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
        Overrides:
        stateChanged in class ViewJFrameBase
        Parameters:
        e - event that triggered this function
      • updateFrame

        public void updateFrame​(float sX,
                                float sY)
        DOCUMENT ME!
        Parameters:
        sX - zoom in the x dimension
        sY - zoom in the y dimension
      • updateImages

        public final boolean updateImages()
        This methods calls the componentImage's update method to redraw the screen.
        Specified by:
        updateImages in interface ViewImageUpdateInterface
        Returns:
        boolean confirming successful update
      • updateImages

        public final boolean updateImages​(boolean forceShow)
        Calls the componentImage's update method to redraw the screen. Without LUT changes.
        Specified by:
        updateImages in interface ViewImageUpdateInterface
        Parameters:
        forceShow - forces show to re import image and calc. java image
        Returns:
        boolean confirming successful update
      • updateImages

        public final boolean updateImages​(ModelLUT LUTa,
                                          ModelLUT LUTb,
                                          boolean forceShow,
                                          int interpMode)
        This methods calls the componentImage's update method to redraw the screen.
        Specified by:
        updateImages in interface ViewImageUpdateInterface
        Parameters:
        LUTa - LUT used to update imageA
        LUTb - LUT used to update imageB
        forceShow - forces show to re import image and calc. java image
        interpMode - image interpolation method (Nearest or Smooth)
        Returns:
        boolean confirming successful update
      • windowActivated

        public void windowActivated​(java.awt.event.WindowEvent event)
        unchanged.
        Specified by:
        windowActivated in interface java.awt.event.WindowListener
        Overrides:
        windowActivated in class ViewJFrameBase
        Parameters:
        event - DOCUMENT ME!
      • windowClosed

        public void windowClosed​(java.awt.event.WindowEvent event)
        unchanged.
        Specified by:
        windowClosed in interface java.awt.event.WindowListener
        Overrides:
        windowClosed in class ViewJFrameBase
        Parameters:
        event - DOCUMENT ME!
      • windowClosing

        public void windowClosing​(java.awt.event.WindowEvent event)
        Calls dispose.
        Specified by:
        windowClosing in interface java.awt.event.WindowListener
        Overrides:
        windowClosing in class ViewJFrameBase
        Parameters:
        event - event that triggered function
      • windowDeactivated

        public void windowDeactivated​(java.awt.event.WindowEvent event)
        unchanged.
        Specified by:
        windowDeactivated in interface java.awt.event.WindowListener
        Overrides:
        windowDeactivated in class ViewJFrameBase
        Parameters:
        event - DOCUMENT ME!
      • windowDeiconified

        public void windowDeiconified​(java.awt.event.WindowEvent event)
        unchanged.
        Specified by:
        windowDeiconified in interface java.awt.event.WindowListener
        Overrides:
        windowDeiconified in class ViewJFrameBase
        Parameters:
        event - DOCUMENT ME!
      • windowIconified

        public void windowIconified​(java.awt.event.WindowEvent event)
        unchanged.
        Specified by:
        windowIconified in interface java.awt.event.WindowListener
        Overrides:
        windowIconified in class ViewJFrameBase
        Parameters:
        event - DOCUMENT ME!
      • windowOpened

        public void windowOpened​(java.awt.event.WindowEvent event)
        Unchanged.
        Specified by:
        windowOpened in interface java.awt.event.WindowListener
        Overrides:
        windowOpened in class ViewJFrameBase
        Parameters:
        event - DOCUMENT ME!
      • addControlPanel

        private void addControlPanel​(java.awt.Component c,
                                     java.awt.GridBagConstraints gbc,
                                     int x,
                                     int y,
                                     int w,
                                     int h)
        Adds a component to the control panel.
        Parameters:
        c - component
        gbc - GridBagConstraints
        x - DOCUMENT ME!
        y - DOCUMENT ME!
        w - DOCUMENT ME!
        h - DOCUMENT ME!
      • addTopPanel

        private void addTopPanel​(java.awt.Component c,
                                 java.awt.GridBagConstraints gbc,
                                 int x,
                                 int y,
                                 int w,
                                 int h)
        Adds a component to the top panel.
        Parameters:
        c - component
        gbc - GridbagConstraints
        x - DOCUMENT ME!
        y - DOCUMENT ME!
        w - DOCUMENT ME!
        h - DOCUMENT ME!
      • buildControlPanel

        private void buildControlPanel()
        panel that sets the at rest frame number and the desired frames per second.
      • buildMenu

        private void buildMenu()
        this method builds a menu which contains the options Save image as and Close Registration.
      • buildRegistrationToolBar

        private javax.swing.JToolBar buildRegistrationToolBar​(java.awt.event.ActionListener al,
                                                              boolean both)
        builds the first registration toolbar.
        Parameters:
        al - ActionListener
        both - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
      • buildScrollPanes

        private void buildScrollPanes()
        Make a scroll frame and puts an image component into it.
      • buildToolBar2

        private javax.swing.JToolBar buildToolBar2​(java.awt.event.ActionListener al)
        builds the second registration toolbar.
        Parameters:
        al - ActionListener
        Returns:
        DOCUMENT ME!
      • init

        private void init()
        Creates the GUI.
      • leastSquares

        private boolean leastSquares()
        This code comes from matchBtoA() and buildXfrm(double p1[],double p2[], Matrix R) in AlgorithmRegLeastSquares.
        Returns:
        DOCUMENT ME!
      • makeSeparator

        private javax.swing.JButton makeSeparator()
        makes a separator for the use in the toolbars.
        Returns:
        DOCUMENT ME!
      • tpSpline

        private void tpSpline()
        Thin-plate registration method.
      • transform

        private void transform()
        Transforms the image.
      • transformC

        private void transformC()
        Transforms color image.
      • calculateCostFunctionValues

        private void calculateCostFunctionValues()
      • initVOI

        private void initVOI()