Package gov.nih.mipav.model.algorithms
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
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
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate float[]Storage location of the second derivative of the Gaussian in the XX direction.private float[]Storage location of the second derivative of the Gaussian in the XY direction.private float[]Storage location of the second derivative of the Gaussian in the XZ direction.private float[]Storage location of the second derivative of the Gaussian in the YY direction.private float[]Storage location of the second derivative of the Gaussian in the YZ direction.private float[]Storage location of the second derivative of the Gaussian in the ZZ direction.private int[]Dimensionality of the kernel.private float[]Standard deviations of the gaussian used to calculate the kernels.private ModelImageImage to convolve with hessian.Fields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, threadStoppedFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
ConstructorsConstructorDescriptionAlgorithmHessian(ModelImage img, float[] sigmas) Creates a new AlgorithmHessian object. -
Method Summary
Modifier and TypeMethodDescriptiondouble[][]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.double[][]hessian2D(float x, float y) Convolves the source image at the point (x,y) with the hessian of the gaussian function.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.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.private voidMakes 2D derivative kernels to be used in the calculation of the hessian.private voidMakes 3D derivative kernels to be used in the calculation of the hessian.voidShould not be used for this algorithm -- just a placeholder.Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, finalize, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, generateProgressValues, getDestImage, getElapsedTime, getMask, getMaxProgressValue, getMinProgressValue, getNumberOfThreads, getProgress, getProgressChangeListener, getProgressChangeListeners, getProgressModulus, getProgressStep, getProgressValues, getSrcImage, isCompleted, isImage25D, isMultiThreadingEnabled, isRunningInSeparateThread, isThreadStopped, linkProgressToAlgorithm, linkProgressToAlgorithm, makeProgress, notifyListeners, removeListener, removeProgressChangeListener, run, setCompleted, setImage25D, setMask, setMaxProgressValue, setMinProgressValue, setMultiThreadingEnabled, setNumberOfThreads, setProgress, setProgressModulus, setProgressStep, setProgressValues, setProgressValues, setRunningInSeparateThread, setSrcImage, setStartTime, setThreadStopped, startMethod, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpenedMethods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Field Details
-
GxxData
private float[] GxxDataStorage location of the second derivative of the Gaussian in the XX direction. -
GxyData
private float[] GxyDataStorage location of the second derivative of the Gaussian in the XY direction. -
GxzData
private float[] GxzDataStorage location of the second derivative of the Gaussian in the XZ direction. -
GyyData
private float[] GyyDataStorage location of the second derivative of the Gaussian in the YY direction. -
GyzData
private float[] GyzDataStorage location of the second derivative of the Gaussian in the YZ direction. -
GzzData
private float[] GzzDataStorage location of the second derivative of the Gaussian in the ZZ direction. -
kExtents
private int[] kExtentsDimensionality of the kernel. -
sigmas
private float[] sigmasStandard deviations of the gaussian used to calculate the kernels. -
srcImage
Image to convolve with hessian.
-
-
Constructor Details
-
AlgorithmHessian
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 interesty- 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 imageextents- the extents of the imagex- float point index indicating point of interesty- 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 interesty- float point index indicating point of interestz- 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 interesty- float point index indicating point of interestz- 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:
runAlgorithmin classAlgorithmBase
-
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.
-