Class ViewJFrameRegistration

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

ViewJFrameRegistration is called in ViewJFrameImage. ViewJFrameRegistration 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 1 item, Close registration. A reference slice slider selects the slice which does not move and against which the other slices are adjusted. An adjusted slice slider selects a slice which will be moved into a desired alignment with the reference slice. An alpha blending slider determines the percentages of the image produced by the reference slice(image R) and the adjusted slice(imageA). 24 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.) Apply least squares alignment.
7.) Apply thin plate spline alignment.
8.) Reset to return slice to original state and remove all markers
9.) Commit the slice to the image.
10.) 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.
11.) 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. 12.) up button for image translation in translate mode and rotation center and marker movements in POINT_VOI mode.
13.) down button for image translation in translate mode and rotation center and marker movements in POINT_VOI mode.
14.) right button for image translation in translate mode and rotation center and marker movements in POINT_VOI mode.
15.) left button for image translation in translate mode and rotation center and marker movements in POINT_VOI mode.
16.) Set degree increment for image rotations. Values can range from 0.01 to 360.0 degrees. The default value is 1.0 degrees.
17.) 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.
18.) cw button for rotating an image clockwise in rotate mode.
19.) ccw button for rotating an image counterclockwise in rotate mode.
20.) Put in POINT_VOI mode for setting the location of reference slice markers. Red markers are used.
21.) Put in the POINT_VOI mode for setting the location of adjusted slice markers. Green markers are used. Green markers move with translations and rotations.
22.) Delete selected reference slice markers.
23.) Delete selected adjusted slice markers.
24.) Return to default mode.

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
      DOCUMENT ME!
      See Also:
    • ADJMARK

      public static final int ADJMARK
      DOCUMENT ME!
      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!
    • 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
      DOCUMENT ME!
    • componentY

      private int componentY
      DOCUMENT ME!
    • controlPanel

      private JPanel controlPanel
      DOCUMENT ME!
    • controls

      private ViewControlsImage controls
      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!
    • dragButton

      private JToggleButton dragButton
      DOCUMENT ME!
    • etchedBorder

      private Border etchedBorder
      DOCUMENT ME!
    • extents

      private int[] extents
      DOCUMENT ME!
    • fileMenu

      private JMenu fileMenu
      DOCUMENT ME!
    • font12

      private Font font12
      DOCUMENT ME!
    • gbc

      private GridBagConstraints gbc
      DOCUMENT ME!
    • haveVOIPoints

      private boolean haveVOIPoints
      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!
    • labelReferenceSlice

      private JLabel labelReferenceSlice
      DOCUMENT ME!
    • labelAdjustedSlice

      private JLabel labelAdjustedSlice
      DOCUMENT ME!
    • labelTable

      private Hashtable<Integer,JLabel> labelTable
      DOCUMENT ME!
    • labelTable2

      private Hashtable<Integer,JLabel> labelTable2
      DOCUMENT ME!
    • leftButton

      private JButton leftButton
      DOCUMENT ME!
    • logMagDisplay

      private boolean logMagDisplay
      DOCUMENT ME!
    • markerType

      private int[] markerType
      DOCUMENT ME!
    • minimumToolBarWidth

      private int minimumToolBarWidth
      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!
    • nImage

      private int nImage
      DOCUMENT ME!
    • nVOI

      private int nVOI
      DOCUMENT ME!
    • openingMenuBar

      private JMenuBar openingMenuBar
      DOCUMENT ME!
    • pixBuffer

      private int[] pixBuffer
      DOCUMENT ME!
    • pixBufferB

      private int[] pixBufferB
      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!
    • refMark

      private int refMark
      DOCUMENT ME!
    • refMarkButton

      private JToggleButton refMarkButton
      DOCUMENT ME!
    • refMarkMinusButton

      private JButton refMarkMinusButton
      DOCUMENT ME!
    • rightButton

      private JButton rightButton
      DOCUMENT ME!
    • rotateButton

      private JToggleButton rotateButton
      DOCUMENT ME!
    • scrollPane

      private JScrollPane scrollPane
      DOCUMENT ME!
    • scrollPaneSize

      private int scrollPaneSize
      DOCUMENT ME!
    • secondImage

      private ModelImage secondImage
      DOCUMENT ME!
    • slider

      private JSlider slider
      DOCUMENT ME!
    • slider2

      private JSlider slider2
      DOCUMENT ME!
    • textReferenceSlice

      private JTextField textReferenceSlice
      DOCUMENT ME!
    • textAdjustedSlice

      private JTextField textAdjustedSlice
      DOCUMENT ME!
    • toolBar

      private JToolBar toolBar
      DOCUMENT ME!
    • toolBar2

      private JToolBar toolBar2
      DOCUMENT ME!
    • topPanel

      private JPanel topPanel
      DOCUMENT ME!
    • translateButton

      private JToggleButton translateButton
      DOCUMENT ME!
    • calculateCostButton

      private JButton calculateCostButton
    • upButton

      private JButton upButton
      DOCUMENT ME!
    • voi

      private VOI voi
      DOCUMENT ME!
    • VOIPoints

      private Vector<WildMagic.LibFoundation.Mathematics.Vector3f> VOIPoints
      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!
    • xPres

      private int[] xPres
      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!
    • yDim

      private int yDim
      DOCUMENT ME!
    • yOrg

      private int[] yOrg
      DOCUMENT ME!
    • yPres

      private int[] yPres
      DOCUMENT ME!
    • yRes

      private float yRes
      DOCUMENT ME!
    • yRotation

      private float yRotation
      DOCUMENT ME!
    • zoom

      private float zoom
      DOCUMENT ME!
    • zSlice

      private int zSlice
      DOCUMENT ME!
    • zSlice2

      private int zSlice2
      DOCUMENT ME!
    • zLastSlice

      private int zLastSlice
      DOCUMENT ME!
    • zLastSlice2

      private int zLastSlice2
      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
    • voiManager

      private VOIManagerInterface voiManager
  • Constructor Details

    • ViewJFrameRegistration

      public ViewJFrameRegistration(ModelImage _image, ModelLUT _LUT)
      Makes a frame of the manually registered image.
      Parameters:
      _image - Model of image
      _LUT - Model of LUT for image
    • ViewJFrameRegistration

      public ViewJFrameRegistration(ModelImage _image, ModelImage _image2, ModelLUT _LUT, ModelLUT _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 distance between points
    • finalize

      public void finalize()
      DOCUMENT ME!
      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
    • mouseClicked

      public void mouseClicked(MouseEvent mouseEvent)
      unchanged.
      Specified by:
      mouseClicked in interface MouseListener
      Parameters:
      mouseEvent - event that triggered function
    • mouseDragged

      public void mouseDragged(MouseEvent mouseEvent)
      continually updates the image depending on where the mouse is - unchanged.
      Specified by:
      mouseDragged in interface MouseMotionListener
      Parameters:
      mouseEvent - event that triggered this function
    • mouseEntered

      public void mouseEntered(MouseEvent mouseEvent)
      unchanged.
      Specified by:
      mouseEntered in interface MouseListener
      Parameters:
      mouseEvent - DOCUMENT ME!
    • mouseExited

      public void mouseExited(MouseEvent mouseEvent)
      unchanged.
      Specified by:
      mouseExited in interface MouseListener
      Parameters:
      mouseEvent - DOCUMENT ME!
    • mouseMoved

      public void mouseMoved(MouseEvent mouseEvent)
      Changes the LUT text field display based on the Y value of the mouse when inside ViewJComponentLUT - unchanged.
      Specified by:
      mouseMoved in interface MouseMotionListener
      Parameters:
      mouseEvent - event that triggered this function
    • mousePressed

      public void mousePressed(MouseEvent mouseEvent)
      unchanged.
      Specified by:
      mousePressed in interface MouseListener
      Parameters:
      mouseEvent - event that triggered function
    • mouseReleased

      public void mouseReleased(MouseEvent mouseEvent)
      unchanged.
      Specified by:
      mouseReleased in interface MouseListener
      Parameters:
      mouseEvent - event that triggered 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)
      Sets the slice to be displayed and updates title frame.
      Specified by:
      setSlice in interface ViewImageUpdateInterface
      Parameters:
      slice - indicates image slice to be displayed
    • setTimeSlice

      public void setTimeSlice(int slice)
      Sets the slice to be displayed and updates title frame. Currently unused.
      Specified by:
      setTimeSlice in interface ViewImageUpdateInterface
      Parameters:
      slice - indicates image time-slice (4th dimension) to be displayed
    • 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.
      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)
      This methods calls the componentImage's update method to redraw the screen.
      Parameters:
      LUTa - LUT used to update imageA
      LUTb - LUT used to update imageB
      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(boolean isOne)
      panel that sets the at rest frame number and the desired frames per second.
      Parameters:
      isOne - one 3D (2.5) image, if false two 2D images are passed in and the top two sliders are not needed.
    • 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)
      builds the first registration toolbar.
      Parameters:
      al - ActionListener
      Returns:
      DOCUMENT ME!
    • buildScrollPane

      private void buildScrollPane()
      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!
    • createLabel

      private JLabel createLabel(String title)
      Helper method to create a label with the proper font and font color.
      Parameters:
      title - Text of the label.
      Returns:
      New label.
    • init

      private void init(boolean isOne)
      DOCUMENT ME!
      Parameters:
      isOne - one 3D (2.5) image, if false two 2D images are passed in and the top two sliders are not needed.
    • 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
    • getVOIManager

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

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

      public void setCenter(WildMagic.LibFoundation.Mathematics.Vector3f kCenter)
      Specified by:
      setCenter in interface VOIManagerInterfaceListener
    • 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