Class AlgorithmHessian

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmHessian
All Implemented Interfaces:
ActionListener, WindowListener, Runnable, EventListener

public class AlgorithmHessian extends AlgorithmBase
Provides functions to convolve an image with the second derivitive of the Gaussian function to obtain the Hessian matrix for a particular point on the image.
Author:
Evan McCreedy
  • Field Details

    • GxxData

      private float[] GxxData
      Storage location of the second derivative of the Gaussian in the XX direction.
    • GxyData

      private float[] GxyData
      Storage location of the second derivative of the Gaussian in the XY direction.
    • GxzData

      private float[] GxzData
      Storage location of the second derivative of the Gaussian in the XZ direction.
    • GyyData

      private float[] GyyData
      Storage location of the second derivative of the Gaussian in the YY direction.
    • GyzData

      private float[] GyzData
      Storage location of the second derivative of the Gaussian in the YZ direction.
    • GzzData

      private float[] GzzData
      Storage location of the second derivative of the Gaussian in the ZZ direction.
    • kExtents

      private int[] kExtents
      Dimensionality of the kernel.
    • sigmas

      private float[] sigmas
      Standard deviations of the gaussian used to calculate the kernels.
    • srcImage

      private ModelImage srcImage
      Image to convolve with hessian.
  • Constructor Details

    • AlgorithmHessian

      public AlgorithmHessian(ModelImage img, float[] sigmas)
      Creates a new AlgorithmHessian object.
      Parameters:
      img - DOCUMENT ME!
      sigmas - DOCUMENT ME!
  • Method Details

    • hessian2D

      public double[][] hessian2D(float x, float y)
      Convolves the source image at the point (x,y) with the hessian of the gaussian function.
      Parameters:
      x - float point index indicating point of interest
      y - float point index indicating point of interest
      Returns:
      hessian matrix for the point (x,y)
    • hessian2D

      public double[][] hessian2D(float[] imgBuf, int[] extents, float x, float y)
      Convolves the source image at the point (x,y,z) with the hessian of the gaussian function.
      Parameters:
      imgBuf - the image
      extents - the extents of the image
      x - float point index indicating point of interest
      y - float point index indicating point of interest
      Returns:
      hessian matrix for the point (x,y,z)
    • hessian3D

      public double[][] hessian3D(float x, float y, float z)
      Convolves the source image at the point (x,y,z) with the hessian of the gaussian function.
      Parameters:
      x - float point index indicating point of interest
      y - float point index indicating point of interest
      z - float point index indicating point of interest
      Returns:
      hessian matrix for the point (x,y,z)
    • hessian3D

      public double[][] hessian3D(float[] imgBuf, int[] extents, float x, float y, float z)
      Convolves the source image at the point (x,y,z) with the hessian of the gaussian function.
      Parameters:
      imgBuf - DOCUMENT ME!
      extents - DOCUMENT ME!
      x - float point index indicating point of interest
      y - float point index indicating point of interest
      z - float point index indicating point of interest
      Returns:
      hessian matrix for the point (x,y,z)
    • runAlgorithm

      public void runAlgorithm()
      Should not be used for this algorithm -- just a placeholder.
      Specified by:
      runAlgorithm in class AlgorithmBase
    • makeKernels2D

      private void makeKernels2D()
      Makes 2D derivative kernels to be used in the calculation of the hessian.
    • makeKernels3D

      private void makeKernels3D()
      Makes 3D derivative kernels to be used in the calculation of the hessian.