Class AlgorithmRegVOILandmark

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.registration.AlgorithmRegVOILandmark
All Implemented Interfaces:
de.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables, ActionListener, WindowListener, Runnable, EventListener

public class AlgorithmRegVOILandmark extends AlgorithmBase implements de.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables
AlgorithmRegVOILandmark First slice is template (base image) to which subsequent slices are registered. Trace kidney in 1st slice using polygon VOI. Minimize cost = -sum of Gradient magnitude under propagated ROI in match image
Version:
1.0 June, 2000
Author:
Delia McGarry
  • Field Details

    • SIMPLEXOPT

      public static final int SIMPLEXOPT
      DOCUMENT ME!
      See Also:
    • EXHAUSTIVEOPT

      public static final int EXHAUSTIVEOPT
      DOCUMENT ME!
      See Also:
    • MINDIFF

      public static final int MINDIFF
      DOCUMENT ME!
      See Also:
    • MAXSUM

      public static final int MAXSUM
      DOCUMENT ME!
      See Also:
    • baseVOIGradMagSum

      protected float baseVOIGradMagSum
      DOCUMENT ME!
    • gradientMagAlgo

      private AlgorithmGradientMagnitude gradientMagAlgo
      DOCUMENT ME!
    • gradMagBuf

      protected float[] gradMagBuf
      DOCUMENT ME!
    • minTx

      private double minTx
      DOCUMENT ME!
    • maxTx

      private double maxTx
      DOCUMENT ME!
    • minTy

      private double minTy
      DOCUMENT ME!
    • maxTy

      private double maxTy
      DOCUMENT ME!
    • minRz

      private double minRz
      DOCUMENT ME!
    • maxRz

      private double maxRz
      DOCUMENT ME!
    • step

      private double step
      DOCUMENT ME!
    • opt

      protected int opt
      DOCUMENT ME!
    • costFunc

      protected int costFunc
      DOCUMENT ME!
    • simplexDim

      private int simplexDim
      DOCUMENT ME!
    • VOIlength

      protected int VOIlength
      DOCUMENT ME!
    • VOIposition

      protected VOIBase VOIposition
      positions (x,y) of VOI in first slice
    • volLength

      protected int volLength
      DOCUMENT ME!
    • sliceSize

      protected int sliceSize
      DOCUMENT ME!
    • volume

      protected ModelImage volume
      DOCUMENT ME!
    • gradMagVol

      protected ModelImage gradMagVol
      DOCUMENT ME!
    • xdim

      protected int xdim
      DOCUMENT ME!
    • ydim

      protected int ydim
      DOCUMENT ME!
    • tdim

      protected int tdim
      DOCUMENT ME!
    • sigmas

      private float[] sigmas
    • maskFlag

      private boolean maskFlag
    • func

  • Constructor Details

    • AlgorithmRegVOILandmark

      public AlgorithmRegVOILandmark(ModelImage volume, ModelImage gradMagVol, float[] sigmas, boolean maskFlag, VOIBase position, double minTx, double maxTx, double minTy, double maxTy, double minRz, double maxRz, double step, int opt, int costFunc)
      Constructor.
      Parameters:
      volume - DOCUMENT ME!
      gradMagVol - DOCUMENT ME!
      sigmas - DOCUMENT ME!
      maskFlag - DOCUMENT ME!
      position - DOCUMENT ME!
      minTx - DOCUMENT ME!
      maxTx - DOCUMENT ME!
      minTy - DOCUMENT ME!
      maxTy - DOCUMENT ME!
      minRz - DOCUMENT ME!
      maxRz - DOCUMENT ME!
      step - DOCUMENT ME!
      opt - DOCUMENT ME!
      costFunc - DOCUMENT ME!
  • Method Details

    • finalize

      public void finalize()
      finalize - prepares this class for destruction.
      Overrides:
      finalize in class AlgorithmBase
    • runAlgorithm

      public void runAlgorithm()
      Starts the program.
      Specified by:
      runAlgorithm in class AlgorithmBase
    • exhaustiveSearch

      private void exhaustiveSearch(double[] p, AlgorithmRegVOILandmark.CostFunction func)
      Exhaustive search for global minimum.
      Parameters:
      p - DOCUMENT ME!
      func - DOCUMENT ME!
    • getTransform

      protected TransMatrix getTransform(double[] x)
      Converts row of p into 3x3 matrix.
      Parameters:
      x - = row of p[][]
      Returns:
      DOCUMENT ME!
    • search

      private void search()
      Search.
    • transformSlice

      private void transformSlice(int slice, TransMatrix xfrm, float[] imgBuf, float[] tImgBuf, WildMagic.LibFoundation.Mathematics.Vector3f center)
      Transforms a slice.
      Parameters:
      slice - DOCUMENT ME!
      xfrm - DOCUMENT ME!
      imgBuf - DOCUMENT ME!
      tImgBuf - DOCUMENT ME!
    • eval

      public double eval(double[] x)
      Specified by:
      eval in interface de.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables
    • getNumberOfVariables

      public int getNumberOfVariables()
      Specified by:
      getNumberOfVariables in interface de.jtem.numericalMethods.calculus.function.RealFunctionOfSeveralVariables