Class ViewJFrameRegistrationTool

All Implemented Interfaces:
VOIManagerInterfaceListener, ViewImageUpdateInterface, ActionListener, ComponentListener, FocusListener, ItemListener, WindowListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener, RootPaneContainer, WindowConstants

public class ViewJFrameRegistrationTool extends ViewJFrameBase implements ItemListener, ChangeListener, FocusListener, 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:
  • Field Details

    • serialVersionUID

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

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

      public static final int REFMARK
      reference marker type.
      See Also:
    • ADJMARK

      public static final int ADJMARK
      adjusted marker type.
      See Also:
    • toggleArray

      public JToggleButton[] toggleArray
      DOCUMENT ME!
    • serif12

      protected Font serif12
      DOCUMENT ME!
    • adjMark

      private int adjMark
      DOCUMENT ME!
    • adjMarkButton

      private JToggleButton adjMarkButton
      DOCUMENT ME!
    • adjMarkMinusButton

      private JButton adjMarkMinusButton
      DOCUMENT ME!
    • alphaSlider

      private JSlider alphaSlider
      DOCUMENT ME!
    • bothPanel

      private JPanel bothPanel
      DOCUMENT ME!
    • bufferFactor

      private int bufferFactor
      DOCUMENT ME!
    • bufferSize

      private int bufferSize
      DOCUMENT ME!
    • buttonArray

      private JButton[] buttonArray
      DOCUMENT ME!
    • ccwButton

      private JButton ccwButton
      DOCUMENT ME!
    • componentImage

      private ViewJComponentRegistration componentImage
      for both images displayed together.
    • componentImageA

      private ViewJComponentSingleRegistration componentImageA
      for images to be displayed separately.
    • componentImageB

      private ViewJComponentSingleRegistration componentImageB
      DOCUMENT ME!
    • controlPanel

      private JPanel controlPanel
      DOCUMENT ME!
    • controls

      private ViewControlsImage controls
      DOCUMENT ME!
    • copyAdjToRefButton

      private JButton copyAdjToRefButton
      DOCUMENT ME!
    • copyRefToAdjButton

      private JButton copyRefToAdjButton
      DOCUMENT ME!
    • cpGBC

      private GridBagConstraints cpGBC
      DOCUMENT ME!
    • cpGBL

      private GridBagLayout cpGBL
      DOCUMENT ME!
    • curAdjMark

      private int curAdjMark
      DOCUMENT ME!
    • curRefMark

      private int curRefMark
      DOCUMENT ME!
    • cwButton

      private JButton cwButton
      DOCUMENT ME!
    • defaultModeButton

      private JToggleButton defaultModeButton
      DOCUMENT ME!
    • degreeIncrement

      private float degreeIncrement
      DOCUMENT ME!
    • degreeIncrementButton

      private JButton degreeIncrementButton
      DOCUMENT ME!
    • doDrag

      private boolean doDrag
      DOCUMENT ME!
    • doneLeastSquares

      private boolean doneLeastSquares
      DOCUMENT ME!
    • doRegionB

      private boolean doRegionB
      DOCUMENT ME!
    • downButton

      private JButton downButton
      DOCUMENT ME!
    • etchedBorder

      private Border etchedBorder
      DOCUMENT ME!
    • extents

      private int[] extents
      DOCUMENT ME!
    • fileMenu

      private JMenu fileMenu
      DOCUMENT ME!
    • firstDraw

      private boolean firstDraw
      DOCUMENT ME!
    • font12

      private Font font12
      DOCUMENT ME!
    • gbc

      private GridBagConstraints gbc
      DOCUMENT ME!
    • helpMenu

      private JMenu helpMenu
      DOCUMENT ME!
    • i

      private int i
      DOCUMENT ME!
    • j

      private int j
      DOCUMENT ME!
    • image

      private ModelImage image
      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 JMenuItem itemClose
      DOCUMENT ME!
    • itemHelp

      private JMenuItem itemHelp
      DOCUMENT ME!
    • leftButton

      private JButton leftButton
      DOCUMENT ME!
    • logMagDisplay

      private boolean logMagDisplay
      DOCUMENT ME!
    • lsPerformed

      private boolean lsPerformed
      DOCUMENT ME!
    • mode

      private int mode
      DOCUMENT ME!
    • movementGroup

      private ButtonGroup movementGroup
      DOCUMENT ME!
    • n

      private int n
      DOCUMENT ME!
    • newAlphaBlend

      private int newAlphaBlend
      DOCUMENT ME!
    • newExtents

      private int[] newExtents
      DOCUMENT ME!
    • openingMenuBar

      private 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 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 JToggleButton refMarkButton
      DOCUMENT ME!
    • refMarkMinusButton

      private JButton refMarkMinusButton
      DOCUMENT ME!
    • regButton

      private JToggleButton regButton
      DOCUMENT ME!
    • RGBa

      private ModelRGB RGBa
      DOCUMENT ME!
    • RGBb

      private ModelRGB RGBb
      DOCUMENT ME!
    • rightButton

      private JButton rightButton
      DOCUMENT ME!
    • rotateButton

      private JToggleButton rotateButton
      DOCUMENT ME!
    • scrollPane

      private JScrollPane scrollPane
      DOCUMENT ME!
    • scrollPaneSeparateA

      private JScrollPane scrollPaneSeparateA
      DOCUMENT ME!
    • scrollPaneSeparateB

      private JScrollPane scrollPaneSeparateB
      DOCUMENT ME!
    • scrollPaneSize

      private int scrollPaneSize
      DOCUMENT ME!
    • secondImage

      private ModelImage secondImage
      DOCUMENT ME!
    • separatePanel

      private JPanel separatePanel
      DOCUMENT ME!
    • showVOIs

      private JCheckBoxMenuItem showVOIs
      DOCUMENT ME!
    • tabbedPane

      private JTabbedPane tabbedPane
      DOCUMENT ME!
    • toolBar

      private JToolBar toolBar
      DOCUMENT ME!
    • toolBar2

      private JToolBar toolBar2
      DOCUMENT ME!
    • toolBarSep

      private JToolBar toolBarSep
      DOCUMENT ME!
    • topPanel

      private JPanel topPanel
      DOCUMENT ME!
    • translateButton

      private JToggleButton translateButton
      DOCUMENT ME!
    • upButton

      private JButton upButton
      DOCUMENT ME!
    • userInterface

      private ViewUserInterface userInterface
      DOCUMENT ME!
    • xCoords

      private int[] xCoords
      DOCUMENT ME!
    • xDim

      private int xDim
      DOCUMENT ME!
    • xfrm

      private TransMatrix xfrm
      DOCUMENT ME!
    • xfrmBA

      private TransMatrix xfrmBA
      DOCUMENT ME!
    • xfrmD

      private TransMatrix xfrmD
      DOCUMENT ME!
    • xfrmH

      private TransMatrix xfrmH
      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 JTextArea costFunctionTextArea
    • costFunctionScrollPane

      private 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
    • algoCost

      private AlgorithmCostFunctions2D algoCost
    • calculateCostButton

      private JButton calculateCostButton
    • voiManager

      private VOIManagerInterface voiManager
  • Constructor Details

    • 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 Details

    • SQR

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

      public void actionPerformed(ActionEvent event)
      Calls various methods depending on the action.
      Specified by:
      actionPerformed in interface 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(ComponentEvent event)
      Resizes frame and all components.
      Specified by:
      componentResized in interface 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(FocusEvent event)
      Currently unused.
      Specified by:
      focusGained in interface FocusListener
      Parameters:
      event - DOCUMENT ME!
    • focusLost

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

      public ViewControlsImage getControls()
      Gets control widgets for frame.
      Specified by:
      getControls in class ViewJFrameBase
      Returns:
      controls
    • getImageA

      public ModelImage getImageA()
      Returns the reference to imageA.
      Specified by:
      getImageA in class ViewJFrameBase
      Returns:
      image
    • getImageB

      public ModelImage getImageB()
      Returns the reference to imageB.
      Specified by:
      getImageB in class ViewJFrameBase
      Returns:
      imageB
    • itemStateChanged

      public void itemStateChanged(ItemEvent event)
      sets the flags for the checkboxes.
      Specified by:
      itemStateChanged in interface 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!
    • setSlice

      public void setSlice(int slice)
      Not used.
      Specified by:
      setSlice in interface ViewImageUpdateInterface
      Parameters:
      slice - DOCUMENT ME!
    • setTimeSlice

      public void setTimeSlice(int slice)
      Not used.
      Specified by:
      setTimeSlice in interface ViewImageUpdateInterface
      Parameters:
      slice - 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(ChangeEvent e)
      sets values based on knob along slider and catches the tabbed pane switching events.
      Specified by:
      stateChanged in interface 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
    • updateImageExtents

      public boolean updateImageExtents()
      This methods calls the componentImage's REPAINT method to redraw the screen. The extents on this image have changed, so the extents need to be read in again and menus, panes and slide bars adjusted accordingly.
      Specified by:
      updateImageExtents in interface ViewImageUpdateInterface
      Specified by:
      updateImageExtents in class ViewJFrameBase
      Returns:
      DOCUMENT ME!
      See Also:
    • 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(WindowEvent event)
      unchanged.
      Specified by:
      windowActivated in interface WindowListener
      Overrides:
      windowActivated in class ViewJFrameBase
      Parameters:
      event - DOCUMENT ME!
    • windowClosed

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

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

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

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

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

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

      private void addControlPanel(Component c, 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(Component c, 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 JToolBar buildRegistrationToolBar(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 JToolBar buildToolBar2(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 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()
    • PointerActive

      public void PointerActive(boolean bActive)
      Specified by:
      PointerActive in interface VOIManagerInterfaceListener
    • PropDown

      public WildMagic.LibFoundation.Mathematics.Vector3f PropDown(int iActive)
      Specified by:
      PropDown in interface VOIManagerInterfaceListener
    • PropUp

      public WildMagic.LibFoundation.Mathematics.Vector3f PropUp(int iActive)
      Specified by:
      PropUp in interface VOIManagerInterfaceListener
    • create3DVOI

      public void create3DVOI(boolean bIntersection)
      Specified by:
      create3DVOI in interface VOIManagerInterfaceListener
    • getActiveImage

      public ModelImage getActiveImage()
      Specified by:
      getActiveImage in interface VOIManagerInterfaceListener
    • getActiveLUT

      public ModelLUT getActiveLUT()
      Specified by:
      getActiveLUT in interface VOIManagerInterfaceListener
    • getActiveRGB

      public ModelRGB getActiveRGB()
      Specified by:
      getActiveRGB in interface VOIManagerInterfaceListener
    • getCenterPt

      public WildMagic.LibFoundation.Mathematics.Vector3f getCenterPt()
      Specified by:
      getCenterPt in interface VOIManagerInterfaceListener
    • getFrame

      public JFrame getFrame()
      Specified by:
      getFrame in interface VOIManagerInterfaceListener
    • setActiveImage

      public void setActiveImage(ModelImage kImage)
      Specified by:
      setActiveImage in interface VOIManagerInterfaceListener
    • getVOIManager

      public VOIManagerInterface getVOIManager()
      Specified by:
      getVOIManager in interface VOIManagerInterfaceListener
    • setCenter

      public void setCenter(WildMagic.LibFoundation.Mathematics.Vector3f kCenter)
      Specified by:
      setCenter in interface VOIManagerInterfaceListener
    • setCursor

      public void setCursor(Cursor kCursor)
      Specified by:
      setCursor in interface VOIManagerInterfaceListener
      Overrides:
      setCursor in class Window
    • setModified

      public void setModified()
      Specified by:
      setModified in interface VOIManagerInterfaceListener
    • updateData

      public void updateData()
      Specified by:
      updateData in interface VOIManagerInterfaceListener
    • setPaintMask

      public void setPaintMask(BitSet mask)
      Specified by:
      setPaintMask in interface VOIManagerInterfaceListener
    • paintToShortMask

      public void paintToShortMask()
      Specified by:
      paintToShortMask in interface VOIManagerInterfaceListener
    • paintToUbyteMask

      public void paintToUbyteMask()
      Specified by:
      paintToUbyteMask in interface VOIManagerInterfaceListener
    • maskToPaint

      public void maskToPaint()
      Specified by:
      maskToPaint in interface VOIManagerInterfaceListener
    • initVOI

      private void initVOI()
    • addSphereVOIs

      public void addSphereVOIs(VOI annotations)
      Specified by:
      addSphereVOIs in interface VOIManagerInterfaceListener