Class JDialogRegistrationLeastSquares

All Implemented Interfaces:
AlgorithmInterface, ScriptableActionInterface, DialogDefaultsInterface, ActionListener, FocusListener, ItemListener, WindowListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, 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:
  • Field Details

    • serialVersionUID

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

      protected ModelImage baseImage
      Base image - register match image to base image.
    • comboBoxImage

      private JComboBox comboBoxImage
      Combo box with image names for choosing base image.
    • DIM

      private int DIM
      Number of dimensions in match image.
    • fromOAR3D

      private boolean fromOAR3D
      DOCUMENT ME!
    • lsCompleted

      private boolean lsCompleted
      DOCUMENT ME!
    • LSMatch

      private AlgorithmRegLeastSquares LSMatch
      Algorithm to run from this dialog.
    • matchImage

      protected ModelImage matchImage
      Match image - register match image to base image.
    • resultImage

      protected ModelImage resultImage
      Result image - image returned from registration algorithm.
    • resultMatrix

      private TransMatrix resultMatrix
      DOCUMENT ME!
    • titles

      private String[] titles
      Used to lock and unlock images.
    • userInterface

      private ViewUserInterface userInterface
      Reference to userface.
    • xdimA

      private int xdimA
      Dimensions of match image and base image.
    • ydimA

      private int ydimA
      Dimensions of match image and base image.
    • zdimA

      private int zdimA
      Dimensions of match image and base image.
    • xresA

      private float xresA
      Resolutions of match image and base image.
    • yresA

      private float yresA
      Resolutions of match image and base image.
    • zresA

      private float zresA
      Resolutions of match image and base image.
    • xresB

      private float xresB
      Resolutions of match image and base image.
    • yresB

      private float yresB
      Resolutions of match image and base image.
    • zresB

      private float zresB
      Resolutions of match image and base image.
    • outOfBoundsLabel

      private JLabel outOfBoundsLabel
    • outOfBoundsComboBox

      private JComboBox outOfBoundsComboBox
    • valueLabel

      private JLabel valueLabel
    • valueText

      private 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 JLabel matrixLabel
    • matrixComboBox

      private JComboBox matrixComboBox
    • matrixDirectory

      private String matrixDirectory
    • userDirectoryLabel

      private JLabel userDirectoryLabel
    • userDirectoryText

      private JTextField userDirectoryText
    • haveNonPointVOI

      private boolean haveNonPointVOI
  • Constructor Details

    • JDialogRegistrationLeastSquares

      public JDialogRegistrationLeastSquares()
      Empty constructor needed for dynamic instantiation (used during scripting).
    • JDialogRegistrationLeastSquares

      public JDialogRegistrationLeastSquares(Frame theParentFrame, ModelImage im)
      Creates new registration dialog to get base image name.
      Parameters:
      theParentFrame - Parent frame.
      im - Source image.
    • JDialogRegistrationLeastSquares

      public JDialogRegistrationLeastSquares(Frame theParentFrame, ModelImage _mi, ModelImage _ri)
      Creates a new JDialogRegistrationLeastSquares object.
      Parameters:
      theParentFrame - DOCUMENT ME!
      _mi - DOCUMENT ME!
      _ri - DOCUMENT ME!
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent event)
      Closes dialog box when the OK button is pressed, set variables, and calls the algorithm.
      Specified by:
      actionPerformed in interface 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.
    • transform2DVOI

      private void transform2DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)
    • transform3DVOI

      private void transform3DVOI(ModelImage image, ModelImage destImage, float[] imgBuffer, TransMatrix trans)
    • getLSCompleted

      public boolean getLSCompleted()
      Accessor that returns whether or not the algorithm successfully completed.
      Returns:
      boolean
    • getResultImage

      public ModelImage getResultImage()
      Accessor that returns the image.
      Returns:
      The result image
    • getResultMatrix

      public TransMatrix getResultMatrix()
      Gets the result matrix (only used by OAR3D).
      Returns:
      TransMatrix
    • callAlgorithm

      protected void callAlgorithm()
      Sets arrays appropriately and calls registration algorithm, running it in it's own thread.
      Specified by:
      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(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
    • storeParamsFromGUI

      protected void storeParamsFromGUI() throws ParserException
      Record the parameters just used to run this algorithm in a script.
      Specified by:
      storeParamsFromGUI in class JDialogScriptableBase
      Throws:
      ParserException - If there is a problem creating/recording the new parameters.
    • init

      protected void init()
      Initializes GuserInterface components and displays dialog.
    • buildImagePanel

      protected JPanel buildImagePanel()
    • buildExtentsPanel

      protected JPanel buildExtentsPanel()
    • buildImgComboBox

      private JComboBox buildImgComboBox(ModelImage image)
      Builds a list of images. Returns combobox.
      Parameters:
      image - DOCUMENT ME!
      Returns:
      Newly created combo box.
    • itemStateChanged

      public void itemStateChanged(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 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