volume
Class Hessian

java.lang.Object
  |
  +--volume.Hessian

public class Hessian
extends java.lang.Object

This class implements computing the Hessian tensor matrix of an image, and computing the determinant (to detect blobs) and largest eigenvalues (to detect edges). Copyright (c) 1999-2004, Michael Abramoff. All rights reserved.


Constructor Summary
Hessian()
           
 
Method Summary
static float[] det(float[] image, int width, double scale)
          Compute the determinant of the Hessian matrix of image.
static void largest(float[] result, float[] image, int width, double scale)
          Compute the largest Hessian eigenvectors of a 2-D image.
static float[] largest(float[] image, int width, double scale)
          Compute the largest Hessian eigenvectors of a 2-D image.
static void smallest(float[] result, float[] image, int width, double scale)
          Compute the smallest Hessian eigenvectors of a 2-D image.
static float[] smallest(float[] image, int width, double scale)
          Compute the smallest Hessian eigenvectors of a 2-D image.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Hessian

public Hessian()
Method Detail

smallest

public static void smallest(float[] result,
                            float[] image,
                            int width,
                            double scale)
Compute the smallest Hessian eigenvectors of a 2-D image.
Parameters:
result - a float[] in which the result will be stored.
image - the image
width - the width of image in pixels.
scale - the scale of the Gaussian used to compute the first and second order derivatives.

largest

public static void largest(float[] result,
                           float[] image,
                           int width,
                           double scale)
                    throws java.lang.IllegalArgumentException
Compute the largest Hessian eigenvectors of a 2-D image.
Parameters:
result - a float[] in which the result will be stored.
image - the image
width - the width of image in pixels.
scale - the scale of the Gaussian used to compute the first and second order derivatives.

largest

public static float[] largest(float[] image,
                              int width,
                              double scale)
Compute the largest Hessian eigenvectors of a 2-D image.
Parameters:
image - the image
width - the width of image in pixels.
scale - the scale of the Gaussian used to compute the first and second order derivatives.
Returns:
result a float[] witht he largest eigenvalues.

smallest

public static float[] smallest(float[] image,
                               int width,
                               double scale)
Compute the smallest Hessian eigenvectors of a 2-D image.
Parameters:
image - the image
width - the width of image in pixels.
scale - the scale of the Gaussian used to compute the first and second order derivatives.
Returns:
result a float[] witht he largest eigenvalues.

det

public static float[] det(float[] image,
                          int width,
                          double scale)
Compute the determinant of the Hessian matrix of image. L1 L2 where L1 = (dxx + dyy) + SQRT((dxx - dyy)^2 + 4 dxy^2) L2 = (dxx + dyy) - SQRT((dxx - dyy)^2 + 4 dxy^2)
Parameters:
image - the image from which the derivatives are computed
width - of image in pixels.
scale - the scale at which the derivatives will be computed as the stddev of the Gaussian.
Returns:
L1 L2 as a float.