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.