Class AlgorithmHessian

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.WindowListener, java.lang.Runnable, java.util.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 Detail

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

      • AlgorithmHessian

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

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