Package org.itk.simple
Class ObjectnessMeasureImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.ObjectnessMeasureImageFilter
Enhance M-dimensional objects in N-dimensional images.
This filter is a generalization of Frangi's vesselness measurement for
detecting M-dimensional object in N-dimensional space. For example a
vessel is a 1-D object in 3-D space. The filter can enhance blob-like
structures (M=0), vessel-like structures (M=1), 2D plate-like
structures (M=2), hyper-plate-like structures (M=3) in N-dimensional
images, with M<N.
This filter takes a scalar image as input and produces a real valued
image as output which contains the objectness measure at each pixel.
Internally, it computes a Hessian via discrete central differences.
Before applying this filter it is expected that a Gaussian smoothing
filter at an appropriate scale (sigma) was applied to the input image.
The enhancement is based on the eigenvalues of the Hessian matrix. For
the Frangi's vesselness case were M=1 and N=3 we have the 3
eigenvalues such that $ | \\lambda_1 | < | \\lambda_2 | < |\\lambda_3 | $ . The formula follows:
\\[ R_A = \\frac{|\\lambda_2|}{|\\lambda_3|}, \\; R_B =
\\frac{|\\lambda_2|}{|\\lambda_2\\lambda_3|}, \\; S =
\\sqrt{\\lambda_1^2+\\lambda_2^2+\\lambda_3^2} \\] \\[ V_{\\sigma}= \\begin{cases}
(1-e^{-\\frac{R_A^2}{2\\alpha^2}}) \\cdot
e^{\\frac{R_B^2}{2\\beta^2}} \\cdot
(1-e^{-\\frac{S^2}{2\\gamma^2}}) & \\text{if }
\\lambda_2<0 \\text{ and } \\lambda_3<0
\\text{,}\\\\ 0 & \\text{otherwise} \\end{cases} \\]
References
Antiga, L. Generalizing vesselness with respect to dimensionality and
shape. https://hdl.handle.net/1926/576
Frangi, AF, Niessen, WJ, Vincken, KL, & Viergever, MA (1998).
Multiscale Vessel Enhancement Filtering. In Wells, WM, Colchester, A,
& Delp, S, Editors, MICCAI '98 Medical Image Computing and Computer-Assisted Intervention, Lecture Notes in
Computer Science, pages 130-137, Springer Verlag, 1998.
See:
itk::HessianToObjectnessMeasureImageFilter
itk::simple::ObjectnessMeasure for the procedural interface
itk::ObjectnessMeasureImageFilter for the Doxygen on the original ITK
class.
C++ includes: sitkObjectnessMeasureImageFilter.h
-
Field Summary
Fields inherited from class org.itk.simple.ProcessObject
swigCMemOwn
-
Constructor Summary
ConstructorsModifierConstructorDescriptionitk::simple::ObjectnessMeasureImageFilter::ObjectnessMeasureImageFilter() Default Constructor that takes no arguments and initializes default parametersprotected
ObjectnessMeasureImageFilter
(long cPtr, boolean cMemoryOwn) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Self& itk::simple::ObjectnessMeasureImageFilter::BrightObjectOff()void
Self& itk::simple::ObjectnessMeasureImageFilter::BrightObjectOn() Set the value of BrightObject to true or false respectfully.void
delete()
virtual itk::simple::ObjectnessMeasureImageFilter::~ObjectnessMeasureImageFilter() DestructorImage itk::simple::ObjectnessMeasureImageFilter::Execute(const Image &image1) Execute the filter on the input imageprotected void
finalize()
double
getAlpha()
double itk::simple::ObjectnessMeasureImageFilter::GetAlpha() const Set/Get Alpha, the weight corresponding to R_A (the ratio of the smallest eigenvalue that has to be large to the larger ones).double
getBeta()
double itk::simple::ObjectnessMeasureImageFilter::GetBeta() const Set/Get Beta, the weight corresponding to R_B (the ratio of the largest eigenvalue that has to be small to the larger ones).boolean
bool itk::simple::ObjectnessMeasureImageFilter::GetBrightObject() const Enhance bright structures on a dark background if true, the opposite if false.protected static long
double
getGamma()
double itk::simple::ObjectnessMeasureImageFilter::GetGamma() const Set/Get Gamma, the weight corresponding to S (the Frobenius norm of the Hessian matrix, or second-order structureness)getName()
std::string itk::simple::ObjectnessMeasureImageFilter::GetName() const Name of this classlong
unsigned int itk::simple::ObjectnessMeasureImageFilter::GetObjectDimension() const Set/Get the dimensionality of the object (0: points (blobs), 1: lines (vessels), 2: planes (plate-like structures), 3: hyper-planes.boolean
bool itk::simple::ObjectnessMeasureImageFilter::GetScaleObjectnessMeasure() const Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvaluevoid
Self& itk::simple::ObjectnessMeasureImageFilter::ScaleObjectnessMeasureOff()void
Self& itk::simple::ObjectnessMeasureImageFilter::ScaleObjectnessMeasureOn() Set the value of ScaleObjectnessMeasure to true or false respectfully.void
setAlpha
(double Alpha) Self& itk::simple::ObjectnessMeasureImageFilter::SetAlpha(double Alpha) Set/Get Alpha, the weight corresponding to R_A (the ratio of the smallest eigenvalue that has to be large to the larger ones).void
setBeta
(double Beta) Self& itk::simple::ObjectnessMeasureImageFilter::SetBeta(double Beta) Set/Get Beta, the weight corresponding to R_B (the ratio of the largest eigenvalue that has to be small to the larger ones).void
setBrightObject
(boolean BrightObject) Self& itk::simple::ObjectnessMeasureImageFilter::SetBrightObject(bool BrightObject) Enhance bright structures on a dark background if true, the opposite if false.void
setGamma
(double Gamma) Self& itk::simple::ObjectnessMeasureImageFilter::SetGamma(double Gamma) Set/Get Gamma, the weight corresponding to S (the Frobenius norm of the Hessian matrix, or second-order structureness)void
setObjectDimension
(long ObjectDimension) Self& itk::simple::ObjectnessMeasureImageFilter::SetObjectDimension(unsigned int ObjectDimension) Set/Get the dimensionality of the object (0: points (blobs), 1: lines (vessels), 2: planes (plate-like structures), 3: hyper-planes.void
setScaleObjectnessMeasure
(boolean ScaleObjectnessMeasure) Self& itk::simple::ObjectnessMeasureImageFilter::SetScaleObjectnessMeasure(bool ScaleObjectnessMeasure) Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalueprotected static long
toString()
std::string itk::simple::ObjectnessMeasureImageFilter::ToString() const Print ourselves outMethods inherited from class org.itk.simple.ImageFilter
getCPtr, swigRelease
Methods inherited from class org.itk.simple.ProcessObject
abort, addCommand, debugOff, debugOn, getCPtr, getDebug, getGlobalDefaultCoordinateTolerance, getGlobalDefaultDebug, getGlobalDefaultDirectionTolerance, getGlobalDefaultNumberOfThreads, getGlobalDefaultThreader, getGlobalWarningDisplay, getNumberOfThreads, getNumberOfWorkUnits, getProgress, globalDefaultDebugOff, globalDefaultDebugOn, globalWarningDisplayOff, globalWarningDisplayOn, hasCommand, removeAllCommands, setDebug, setGlobalDefaultCoordinateTolerance, setGlobalDefaultDebug, setGlobalDefaultDirectionTolerance, setGlobalDefaultNumberOfThreads, setGlobalDefaultThreader, setGlobalWarningDisplay, setNumberOfThreads, setNumberOfWorkUnits, swigRelease
-
Constructor Details
-
ObjectnessMeasureImageFilter
protected ObjectnessMeasureImageFilter(long cPtr, boolean cMemoryOwn) -
ObjectnessMeasureImageFilter
public ObjectnessMeasureImageFilter()itk::simple::ObjectnessMeasureImageFilter::ObjectnessMeasureImageFilter() Default Constructor that takes no arguments and initializes default parameters
-
-
Method Details
-
getCPtr
-
swigRelease
-
finalize
protected void finalize()- Overrides:
finalize
in classImageFilter
-
delete
public void delete()virtual itk::simple::ObjectnessMeasureImageFilter::~ObjectnessMeasureImageFilter() Destructor- Overrides:
delete
in classImageFilter
-
setAlpha
public void setAlpha(double Alpha) Self& itk::simple::ObjectnessMeasureImageFilter::SetAlpha(double Alpha) Set/Get Alpha, the weight corresponding to R_A (the ratio of the smallest eigenvalue that has to be large to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality. -
getAlpha
public double getAlpha()double itk::simple::ObjectnessMeasureImageFilter::GetAlpha() const Set/Get Alpha, the weight corresponding to R_A (the ratio of the smallest eigenvalue that has to be large to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality. -
setBeta
public void setBeta(double Beta) Self& itk::simple::ObjectnessMeasureImageFilter::SetBeta(double Beta) Set/Get Beta, the weight corresponding to R_B (the ratio of the largest eigenvalue that has to be small to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality. -
getBeta
public double getBeta()double itk::simple::ObjectnessMeasureImageFilter::GetBeta() const Set/Get Beta, the weight corresponding to R_B (the ratio of the largest eigenvalue that has to be small to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality. -
setGamma
public void setGamma(double Gamma) Self& itk::simple::ObjectnessMeasureImageFilter::SetGamma(double Gamma) Set/Get Gamma, the weight corresponding to S (the Frobenius norm of the Hessian matrix, or second-order structureness) -
getGamma
public double getGamma()double itk::simple::ObjectnessMeasureImageFilter::GetGamma() const Set/Get Gamma, the weight corresponding to S (the Frobenius norm of the Hessian matrix, or second-order structureness) -
setScaleObjectnessMeasure
public void setScaleObjectnessMeasure(boolean ScaleObjectnessMeasure) Self& itk::simple::ObjectnessMeasureImageFilter::SetScaleObjectnessMeasure(bool ScaleObjectnessMeasure) Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalue -
scaleObjectnessMeasureOn
public void scaleObjectnessMeasureOn()Self& itk::simple::ObjectnessMeasureImageFilter::ScaleObjectnessMeasureOn() Set the value of ScaleObjectnessMeasure to true or false respectfully. -
scaleObjectnessMeasureOff
public void scaleObjectnessMeasureOff()Self& itk::simple::ObjectnessMeasureImageFilter::ScaleObjectnessMeasureOff() -
getScaleObjectnessMeasure
public boolean getScaleObjectnessMeasure()bool itk::simple::ObjectnessMeasureImageFilter::GetScaleObjectnessMeasure() const Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalue -
setObjectDimension
public void setObjectDimension(long ObjectDimension) Self& itk::simple::ObjectnessMeasureImageFilter::SetObjectDimension(unsigned int ObjectDimension) Set/Get the dimensionality of the object (0: points (blobs), 1: lines (vessels), 2: planes (plate-like structures), 3: hyper-planes. ObjectDimension must be smaller than ImageDimension. -
getObjectDimension
public long getObjectDimension()unsigned int itk::simple::ObjectnessMeasureImageFilter::GetObjectDimension() const Set/Get the dimensionality of the object (0: points (blobs), 1: lines (vessels), 2: planes (plate-like structures), 3: hyper-planes. ObjectDimension must be smaller than ImageDimension. -
setBrightObject
public void setBrightObject(boolean BrightObject) Self& itk::simple::ObjectnessMeasureImageFilter::SetBrightObject(bool BrightObject) Enhance bright structures on a dark background if true, the opposite if false. -
brightObjectOn
public void brightObjectOn()Self& itk::simple::ObjectnessMeasureImageFilter::BrightObjectOn() Set the value of BrightObject to true or false respectfully. -
brightObjectOff
public void brightObjectOff()Self& itk::simple::ObjectnessMeasureImageFilter::BrightObjectOff() -
getBrightObject
public boolean getBrightObject()bool itk::simple::ObjectnessMeasureImageFilter::GetBrightObject() const Enhance bright structures on a dark background if true, the opposite if false. -
getName
std::string itk::simple::ObjectnessMeasureImageFilter::GetName() const Name of this class- Overrides:
getName
in classProcessObject
-
toString
std::string itk::simple::ObjectnessMeasureImageFilter::ToString() const Print ourselves out- Overrides:
toString
in classProcessObject
-
execute
Image itk::simple::ObjectnessMeasureImageFilter::Execute(const Image &image1) Execute the filter on the input image
-