public class ComputeCurvatures extends Object implements Runnable
Description: Computes the Principle Curvatures of for 2D and 3D images except the pixels/voxels directly at the borders of the image
Changes in this version:
Modifier and Type | Class and Description |
---|---|
class |
ComputeCurvatures.FloatArray
This class is the abstract class for my FloatArrayXDs,
which are a one dimensional structures with methods for access in n dimensions
|
class |
ComputeCurvatures.FloatArray2D
The 2D implementation of the FloatArray
|
class |
ComputeCurvatures.FloatArray3D
The 3D implementation of the FloatArray
|
Modifier and Type | Field and Description |
---|---|
protected GaussianGenerationCallback |
callback |
protected ij.ImagePlus |
imp |
protected double |
sigma |
protected boolean |
useCalibration |
Constructor and Description |
---|
ComputeCurvatures() |
ComputeCurvatures(ij.ImagePlus imp,
double sigma,
GaussianGenerationCallback callback,
boolean useCalibration) |
Modifier and Type | Method and Description |
---|---|
void |
cancelGaussianGeneration() |
double[] |
computeEigenValues(double[][] matrix)
This method computes the Eigenvalues of the Hessian Matrix, the
Eigenvalues correspond to the Principle Curvatures.
|
float[] |
computeEigenValues(float[][] matrix)
This method computes the Eigenvalues of the Hessian Matrix, the
Eigenvalues correspond to the Principle Curvatures.
|
ComputeCurvatures.FloatArray2D |
computeGaussianFastMirror(ComputeCurvatures.FloatArray2D input,
float sigma,
GaussianGenerationCallback callback,
ij.measure.Calibration calibration)
This method does the gaussian filtering of an image.
|
ComputeCurvatures.FloatArray3D |
computeGaussianFastMirror(ComputeCurvatures.FloatArray3D input,
float sigma,
GaussianGenerationCallback callback,
ij.measure.Calibration calibration)
This method does the gaussian filtering of an 3D image.
|
double[][] |
computeHessianMatrix2DDouble(ComputeCurvatures.FloatArray2D laPlace,
int x,
int y,
double sigma,
float sepX,
float sepY)
This method computes the Hessian Matrix for the 3x3 environment of a certain pixel
The 3D Hessian Matrix: xx xy yx yy |
float[][] |
computeHessianMatrix2DFloat(ComputeCurvatures.FloatArray2D laPlace,
int x,
int y,
double sigma,
float sepX,
float sepY)
This method computes the Hessian Matrix for the 3x3 environment of a certain pixel
The 3D Hessian Matrix: xx xy yx yy |
double[][] |
computeHessianMatrix3DDouble(ComputeCurvatures.FloatArray3D img,
int x,
int y,
int z,
double sigma,
float sepX,
float sepY,
float sepZ)
This method computes the Hessian Matrix for the 3x3x3 environment of a certain voxel
The 3D Hessian Matrix: xx xy xz yx yy yz zx zy zz |
float[][] |
computeHessianMatrix3DFloat(ComputeCurvatures.FloatArray3D img,
int x,
int y,
int z,
double sigma,
float sepX,
float sepY,
float sepZ)
This method computes the Hessian Matrix for the 3x3x3 environment of a certain voxel
The 3D Hessian Matrix: xx xy xz yx yy yz zx zy zz |
static float[] |
createGaussianKernel1D(float sigma,
boolean normalize)
This method creates a gaussian kernel
|
static void |
FloatArrayToFloatProcessor(ij.process.ImageProcessor ip,
ComputeCurvatures.FloatArray2D pixels)
This method converts my FloatArray2D to an ImageJ ImageProcessor
|
static ij.ImagePlus |
FloatArrayToImagePlus(ComputeCurvatures.FloatArray2D image,
String name,
float min,
float max)
This method converts my FloatArray2D to an ImageJ ImagePlus
|
ij.ImagePlus |
FloatArrayToStack(ComputeCurvatures.FloatArray3D image,
String name,
float min,
float max)
This method converts my FloatArray3D to an ImageJ image stack packed into an ImagePlus
|
boolean |
hessianEigenvaluesAtPoint2D(int x,
int y,
boolean orderOnAbsoluteSize,
double[] result,
boolean normalize,
boolean fixUp,
float sepX,
float sepY) |
boolean |
hessianEigenvaluesAtPoint2D(int x,
int y,
boolean orderOnAbsoluteSize,
float[] result,
boolean normalize,
boolean fixUp,
float sepX,
float sepY) |
boolean |
hessianEigenvaluesAtPoint3D(int x,
int y,
int z,
boolean orderOnAbsoluteSize,
double[] result,
boolean normalize,
boolean fixUp,
float sepX,
float sepY,
float sepZ) |
boolean |
hessianEigenvaluesAtPoint3D(int x,
int y,
int z,
boolean orderOnAbsoluteSize,
float[] result,
boolean normalize,
boolean fixUp,
float sepX,
float sepY,
float sepZ) |
ComputeCurvatures.FloatArray2D |
ImageToFloatArray(ij.process.ImageProcessor ip)
This method convertes an ImageJ ImageProcessor to my FloatArray2D,
which is a one dimensional structure with methods for 2D access
|
void |
run() |
void |
runAsPlugIn(String arg)
This method will be called when running the PlugIn, it coordinates the main process.
|
void |
setup() |
ComputeCurvatures.FloatArray3D |
StackToFloatArray(ij.ImageStack stack)
This method convertes an ImageJ image stack to my FloatArray3D,
which is a one dimensional structure with methods for 3D access
|
protected ij.ImagePlus imp
protected double sigma
protected boolean useCalibration
protected GaussianGenerationCallback callback
public ComputeCurvatures()
public ComputeCurvatures(ij.ImagePlus imp, double sigma, GaussianGenerationCallback callback, boolean useCalibration)
public void runAsPlugIn(String arg)
arg
- UNUSEDpublic void cancelGaussianGeneration()
public void setup()
public boolean hessianEigenvaluesAtPoint2D(int x, int y, boolean orderOnAbsoluteSize, float[] result, boolean normalize, boolean fixUp, float sepX, float sepY)
public boolean hessianEigenvaluesAtPoint2D(int x, int y, boolean orderOnAbsoluteSize, double[] result, boolean normalize, boolean fixUp, float sepX, float sepY)
public boolean hessianEigenvaluesAtPoint3D(int x, int y, int z, boolean orderOnAbsoluteSize, float[] result, boolean normalize, boolean fixUp, float sepX, float sepY, float sepZ)
public boolean hessianEigenvaluesAtPoint3D(int x, int y, int z, boolean orderOnAbsoluteSize, double[] result, boolean normalize, boolean fixUp, float sepX, float sepY, float sepZ)
public static ij.ImagePlus FloatArrayToImagePlus(ComputeCurvatures.FloatArray2D image, String name, float min, float max)
image
- The image as FloatArray2Dname
- The name of the ImagePlusmin
- Lowest brightness value that will be displayed (see Brightness&Contrast in Imagej)max
- Highest brightness value that will be displayed (set both to zero for automatic)public static void FloatArrayToFloatProcessor(ij.process.ImageProcessor ip, ComputeCurvatures.FloatArray2D pixels)
ip
- ImageProcessor; will be overwritten with the data from the FloatArray2Dpixels
- The image as FloatArray2Dpublic ij.ImagePlus FloatArrayToStack(ComputeCurvatures.FloatArray3D image, String name, float min, float max)
image
- The image as FloatArray3Dname
- The name of the ImagePlusmin
- Lowest brightness value that will be displayed (see Brightness&Contrast in Imagej)max
- Highest brightness value that will be displayed (set both to zero for automatic)public double[] computeEigenValues(double[][] matrix)
matrix
- The hessian Matrixpublic float[] computeEigenValues(float[][] matrix)
matrix
- float[][] The hessian Matrixpublic double[][] computeHessianMatrix2DDouble(ComputeCurvatures.FloatArray2D laPlace, int x, int y, double sigma, float sepX, float sepY)
laPlace
- The image as FloatArray3Dx
- The x-position of the voxely
- The y-position of the voxelpublic float[][] computeHessianMatrix2DFloat(ComputeCurvatures.FloatArray2D laPlace, int x, int y, double sigma, float sepX, float sepY)
laPlace
- The image as FloatArray3Dx
- The x-position of the voxely
- The y-position of the voxelsigma
- sepX
- sepY
- public double[][] computeHessianMatrix3DDouble(ComputeCurvatures.FloatArray3D img, int x, int y, int z, double sigma, float sepX, float sepY, float sepZ)
img
- The image as FloatArray3Dx
- The x-position of the voxely
- The y-position of the voxelz
- The z-position of the voxelpublic float[][] computeHessianMatrix3DFloat(ComputeCurvatures.FloatArray3D img, int x, int y, int z, double sigma, float sepX, float sepY, float sepZ)
img
- The image as FloatArray3Dx
- The x-position of the voxely
- The y-position of the voxelz
- The z-position of the voxelpublic static float[] createGaussianKernel1D(float sigma, boolean normalize)
sigma
- Standard Derivation of the gaussian functionnormalize
- Normalize integral of gaussian function to 1 or not...public ComputeCurvatures.FloatArray2D computeGaussianFastMirror(ComputeCurvatures.FloatArray2D input, float sigma, GaussianGenerationCallback callback, ij.measure.Calibration calibration)
input
- FloatProcessor which will be folded (will not be touched)sigma
- Standard Derivation of the gaussian functionpublic ComputeCurvatures.FloatArray3D computeGaussianFastMirror(ComputeCurvatures.FloatArray3D input, float sigma, GaussianGenerationCallback callback, ij.measure.Calibration calibration)
input
- FloatProcessor which will be folded (will not be touched)sigma
- Standard Derivation of the gaussian functioncalibration
- Calibration data for the image, or null if we assume separation in all three dimensions is 1public ComputeCurvatures.FloatArray3D StackToFloatArray(ij.ImageStack stack)
stack
- ImageJ image stackpublic ComputeCurvatures.FloatArray2D ImageToFloatArray(ij.process.ImageProcessor ip)
ip
- ImageJ ImageProcessorCopyright © 2015–2021 Fiji. All rights reserved.