Package sc.fiji.snt.filter
Class Frangi<T extends net.imglib2.type.numeric.RealType<T>,U extends net.imglib2.type.numeric.RealType<U>>
java.lang.Object
net.imagej.ops.AbstractOp
net.imagej.ops.special.AbstractUnaryOp<net.imglib2.RandomAccessibleInterval<T>,net.imglib2.RandomAccessibleInterval<U>>
net.imagej.ops.special.computer.AbstractUnaryComputerOp<net.imglib2.RandomAccessibleInterval<T>,net.imglib2.RandomAccessibleInterval<U>>
sc.fiji.snt.filter.Frangi<T,U>
- All Implemented Interfaces:
Runnable,Consumer<net.imglib2.RandomAccessibleInterval<U>>,net.imagej.ops.Environmental,net.imagej.ops.Initializable,net.imagej.ops.Op,net.imagej.ops.Ops.Filter.FrangiVesselness,net.imagej.ops.special.computer.NullaryComputerOp<net.imglib2.RandomAccessibleInterval<U>>,net.imagej.ops.special.computer.UnaryComputerOp<net.imglib2.RandomAccessibleInterval<T>,,net.imglib2.RandomAccessibleInterval<U>> net.imagej.ops.special.NullaryOp<net.imglib2.RandomAccessibleInterval<U>>,net.imagej.ops.special.Output<net.imglib2.RandomAccessibleInterval<U>>,net.imagej.ops.special.OutputMutable<net.imglib2.RandomAccessibleInterval<U>>,net.imagej.ops.special.SpecialOp,net.imagej.ops.special.UnaryInput<net.imglib2.RandomAccessibleInterval<T>>,net.imagej.ops.special.UnaryOp<net.imglib2.RandomAccessibleInterval<T>,,net.imglib2.RandomAccessibleInterval<U>> net.imagej.ops.Threadable,org.scijava.command.Command,org.scijava.Initializable,org.scijava.plugin.SciJavaPlugin
public class Frangi<T extends net.imglib2.type.numeric.RealType<T>,U extends net.imglib2.type.numeric.RealType<U>>
extends net.imagej.ops.special.computer.AbstractUnaryComputerOp<net.imglib2.RandomAccessibleInterval<T>,net.imglib2.RandomAccessibleInterval<U>>
implements net.imagej.ops.Ops.Filter.FrangiVesselness, Consumer<net.imglib2.RandomAccessibleInterval<U>>
A.F. Frangi, W.J. Niessen, K.L. Vincken, M.A. Viergever (1998). Multiscale vessel enhancement filtering.
In Medical Image Computing and Computer-Assisted Intervention - MICCAI'98, W.M. Wells, A. Colchester and S.L. Delp (Eds.),
Lecture Notes in Computer Science, vol. 1496 - Springer Verlag, Berlin, Germany, pp. 130-137.
- Author:
- Cameron Arshadi
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.imagej.ops.special.SpecialOp
net.imagej.ops.special.SpecialOp.Flavor -
Field Summary
Fields inherited from interface net.imagej.ops.Ops.Filter.FrangiVesselness
NAME -
Constructor Summary
ConstructorsConstructorDescriptionFrangi(double[] scales, double[] spacing, double stackMax) Constructs a Frangi filter with the specified scales, spacing, and stack maximum.Frangi(double[] scales, double[] spacing, double stackMax, int numThreads) Constructs a Frangi filter with the specified scales, spacing, stack maximum, and number of threads. -
Method Summary
Modifier and TypeMethodDescriptionvoidstatic <T extends net.imglib2.type.numeric.RealType<T>>
net.imagej.ImgPlus<net.imglib2.type.numeric.real.DoubleType> apply(net.imagej.ImgPlus<T> img, double[] scales) Apply multiscale Frangi vesselness filter to an ImgPlus.static <T extends net.imglib2.type.numeric.RealType<T>>
net.imagej.ImgPlus<net.imglib2.type.numeric.real.DoubleType> apply(net.imagej.ImgPlus<T> img, double[] scales, double stackMax, int numThreads) Apply multiscale Frangi vesselness filter to an ImgPlus.voidcompute(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.RandomAccessibleInterval<U> output) voidrun()net.imglib2.RandomAccessibleInterval<U> Methods inherited from class net.imagej.ops.special.computer.AbstractUnaryComputerOp
in, out, setInput, setOutputMethods inherited from class net.imagej.ops.AbstractOp
ops, setEnvironmentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.imagej.ops.Environmental
ops, setEnvironmentMethods inherited from interface net.imagej.ops.Initializable
initializeMethods inherited from interface net.imagej.ops.special.computer.UnaryComputerOp
compute, getIndependentInstance, runMethods inherited from interface net.imagej.ops.special.UnaryOp
getArity
-
Constructor Details
-
Frangi
public Frangi(double[] scales, double[] spacing, double stackMax) Constructs a Frangi filter with the specified scales, spacing, and stack maximum. Uses the default number of threads (available processors).- Parameters:
scales- the scales for multi-scale analysisspacing- the pixel spacing in each dimensionstackMax- the maximum value in the image stack for normalization
-
Frangi
public Frangi(double[] scales, double[] spacing, double stackMax, int numThreads) Constructs a Frangi filter with the specified scales, spacing, stack maximum, and number of threads.- Parameters:
scales- the scales for multi-scale analysisspacing- the pixel spacing in each dimensionstackMax- the maximum value in the image stack for normalizationnumThreads- the number of threads to use for computation
-
-
Method Details
-
run
public void run()- Specified by:
runin interfacenet.imagej.ops.special.computer.NullaryComputerOp<T extends net.imglib2.type.numeric.RealType<T>>- Specified by:
runin interfacenet.imagej.ops.special.NullaryOp<T extends net.imglib2.type.numeric.RealType<T>>- Specified by:
runin interfaceRunnable- Specified by:
runin interfacenet.imagej.ops.special.computer.UnaryComputerOp<T extends net.imglib2.type.numeric.RealType<T>,U extends net.imglib2.type.numeric.RealType<U>> - Specified by:
runin interfacenet.imagej.ops.special.UnaryOp<T extends net.imglib2.type.numeric.RealType<T>,U extends net.imglib2.type.numeric.RealType<U>>
-
run
-
accept
-
compute
-
apply
public static <T extends net.imglib2.type.numeric.RealType<T>> net.imagej.ImgPlus<net.imglib2.type.numeric.real.DoubleType> apply(net.imagej.ImgPlus<T> img, double[] scales) Apply multiscale Frangi vesselness filter to an ImgPlus.Spacing is extracted from axis metadata. Stack maximum is computed from the image.
- Type Parameters:
T- input pixel type- Parameters:
img- input image (2D or 3D) with calibrated axesscales- scales for multiscale analysis (in physical units)- Returns:
- filtered ImgPlus with same axes as input
-
apply
public static <T extends net.imglib2.type.numeric.RealType<T>> net.imagej.ImgPlus<net.imglib2.type.numeric.real.DoubleType> apply(net.imagej.ImgPlus<T> img, double[] scales, double stackMax, int numThreads) Apply multiscale Frangi vesselness filter to an ImgPlus.- Type Parameters:
T- input pixel type- Parameters:
img- input image (2D or 3D) with calibrated axesscales- scales for multiscale analysis (in physical units)stackMax- maximum value for normalization, or -1 to auto-computenumThreads- number of threads to use- Returns:
- filtered ImgPlus with same axes as input
-