Class RecursiveGaussianImageFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.RecursiveGaussianImageFilter
Base class for computing IIR convolution with an approximation of a
Gaussian kernel.
\\[ \\frac{ 1 }{ \\sigma \\sqrt{ 2 \\pi } } \\exp{
\\left( - \\frac{x^2}{ 2 \\sigma^2 } \\right) } \\]
RecursiveGaussianImageFilter is the base class for recursive filters that approximate convolution
with the Gaussian kernel. This class implements the recursive
filtering method proposed by R.Deriche in IEEE-PAMI Vol.12, No.1,
January 1990, pp 78-87, "Fast Algorithms for Low-Level Vision"
Details of the implementation are described in the technical report: R.
Deriche, "Recursively Implementing The Gaussian and Its
Derivatives", INRIA, 1993, ftp://ftp.inria.fr/INRIA/tech-reports/RR/RR-1893.ps.gz
Further improvements of the algorithm are described in: G. Farnebäck
& C.-F. Westin, "Improving Deriche-style Recursive Gaussian
Filters". J Math Imaging Vis 26, 293–299 (2006). https://doi.org/10.1007/s10851-006-8464-z
As compared to itk::DiscreteGaussianImageFilter , this filter tends to be faster for large kernels, and it can take
the derivative of the blurred image in one step. Also, note that we
have itk::RecursiveGaussianImageFilter::SetSigma() , but itk::DiscreteGaussianImageFilter::SetVariance() .
See:
 DiscreteGaussianImageFilter
 itk::simple::RecursiveGaussian for the procedural interface
 itk::RecursiveGaussianImageFilter for the Doxygen on the original ITK class.
C++ includes: sitkRecursiveGaussianImageFilter.h
- 
Nested Class SummaryNested Classes
- 
Field SummaryFields inherited from class org.itk.simple.ProcessObjectswigCMemOwn
- 
Constructor SummaryConstructorsModifierConstructorDescriptionitk::simple::RecursiveGaussianImageFilter::RecursiveGaussianImageFilter() Default Constructor that takes no arguments and initializes default parametersprotectedRecursiveGaussianImageFilter(long cPtr, boolean cMemoryOwn) 
- 
Method SummaryModifier and TypeMethodDescriptionvoiddelete()virtual itk::simple::RecursiveGaussianImageFilter::~RecursiveGaussianImageFilter() DestructorImage itk::simple::RecursiveGaussianImageFilter::Execute(Image &&image1) Execute the filter on the input imageprotected voidfinalize()protected static longlongunsigned int itk::simple::RecursiveGaussianImageFilter::GetDirection() constgetName()std::string itk::simple::RecursiveGaussianImageFilter::GetName() const Name of this classbooleanbool itk::simple::RecursiveGaussianImageFilter::GetNormalizeAcrossScale() constgetOrder()OrderType itk::simple::RecursiveGaussianImageFilter::GetOrder() const Set/Get the Order of the Gaussian to convolve with.doublegetSigma()double itk::simple::RecursiveGaussianImageFilter::GetSigma() const Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel.voidSelf& itk::simple::RecursiveGaussianImageFilter::NormalizeAcrossScaleOff()voidSelf& itk::simple::RecursiveGaussianImageFilter::NormalizeAcrossScaleOn() Set the value of NormalizeAcrossScale to true or false respectfully.voidsetDirection(long Direction) Self& itk::simple::RecursiveGaussianImageFilter::SetDirection(unsigned int Direction)voidsetNormalizeAcrossScale(boolean NormalizeAcrossScale) Self& itk::simple::RecursiveGaussianImageFilter::SetNormalizeAcrossScale(bool NormalizeAcrossScale) Set/Get the flag for normalizing the gaussian over scale-space.voidSelf& itk::simple::RecursiveGaussianImageFilter::SetOrder(OrderType Order) Set/Get the Order of the Gaussian to convolve with.voidsetSigma(double Sigma) Self& itk::simple::RecursiveGaussianImageFilter::SetSigma(double Sigma) Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel.protected static longtoString()std::string itk::simple::RecursiveGaussianImageFilter::ToString() const Print ourselves outMethods inherited from class org.itk.simple.ImageFiltergetCPtr, swigReleaseMethods inherited from class org.itk.simple.ProcessObjectabort, 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- 
RecursiveGaussianImageFilterprotected RecursiveGaussianImageFilter(long cPtr, boolean cMemoryOwn) 
- 
RecursiveGaussianImageFilterpublic RecursiveGaussianImageFilter()itk::simple::RecursiveGaussianImageFilter::RecursiveGaussianImageFilter() Default Constructor that takes no arguments and initializes default parameters
 
- 
- 
Method Details- 
getCPtr
- 
swigRelease
- 
finalizeprotected void finalize()- Overrides:
- finalizein class- ImageFilter
 
- 
deletepublic void delete()virtual itk::simple::RecursiveGaussianImageFilter::~RecursiveGaussianImageFilter() Destructor- Overrides:
- deletein class- ImageFilter
 
- 
setSigmapublic void setSigma(double Sigma) Self& itk::simple::RecursiveGaussianImageFilter::SetSigma(double Sigma) Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel. The default is 1.0. An exception will be generated if the Sigma value is less than or equal to zero.
- 
getSigmapublic double getSigma()double itk::simple::RecursiveGaussianImageFilter::GetSigma() const Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel. The default is 1.0. An exception will be generated if the Sigma value is less than or equal to zero.
- 
setNormalizeAcrossScalepublic void setNormalizeAcrossScale(boolean NormalizeAcrossScale) Self& itk::simple::RecursiveGaussianImageFilter::SetNormalizeAcrossScale(bool NormalizeAcrossScale) Set/Get the flag for normalizing the gaussian over scale-space. This flag enables the analysis of the differential shape of features independent of their size ( both pixels and physical size ). Following the notation of Tony Lindeberg: Let \\[ L(x; t) = g(x; t) \\ast f(x) \\] be the scale-space representation of image \\[ f(x) \\] where \\[ g(x; t) = \\frac{1}{ \\sqrt{ 2 \\pi t} } \\exp{ \\left( -\\frac{x^2}{ 2 t } \\right) } \\] is the Gaussian function and \\[\\ast\\] denotes convolution. This is a change from above with \\[ t = \\sigma^2 \\] . Then the normalized derivative operator for normalized coordinates across scale is: \\[ \\partial_\\xi = \\sqrt{t} \\partial_x \\] The resulting scaling factor is \\[ \\sigma^N \\] where N is the order of the derivative. When this flag is ON the filter will be normalized in such a way that the values of derivatives are not biased by the size of the object. That is to say the maximum value a feature reaches across scale is independent of the scale of the object. For analyzing an image across scale-space you want to enable this flag. It is disabled by default. Not all scale space axioms are satisfied by this filter, some are only approximated. Particularly, at fine scales ( say less than 1 pixel ) other methods such as a discrete Gaussian kernel should be considered.
- 
normalizeAcrossScaleOnpublic void normalizeAcrossScaleOn()Self& itk::simple::RecursiveGaussianImageFilter::NormalizeAcrossScaleOn() Set the value of NormalizeAcrossScale to true or false respectfully.
- 
normalizeAcrossScaleOffpublic void normalizeAcrossScaleOff()Self& itk::simple::RecursiveGaussianImageFilter::NormalizeAcrossScaleOff()
- 
getNormalizeAcrossScalepublic boolean getNormalizeAcrossScale()bool itk::simple::RecursiveGaussianImageFilter::GetNormalizeAcrossScale() const
- 
setOrderSelf& itk::simple::RecursiveGaussianImageFilter::SetOrder(OrderType Order) Set/Get the Order of the Gaussian to convolve with. ZeroOrder is equivalent to convolving with a Gaussian. This is the default. FirstOrder is equivalent to convolving with the first derivative of a Gaussian. SecondOrder is equivalent to convolving with the second derivative of a Gaussian.
- 
getOrderOrderType itk::simple::RecursiveGaussianImageFilter::GetOrder() const Set/Get the Order of the Gaussian to convolve with. ZeroOrder is equivalent to convolving with a Gaussian. This is the default. FirstOrder is equivalent to convolving with the first derivative of a Gaussian. SecondOrder is equivalent to convolving with the second derivative of a Gaussian.
- 
setDirectionpublic void setDirection(long Direction) Self& itk::simple::RecursiveGaussianImageFilter::SetDirection(unsigned int Direction)
- 
getDirectionpublic long getDirection()unsigned int itk::simple::RecursiveGaussianImageFilter::GetDirection() const
- 
getNamestd::string itk::simple::RecursiveGaussianImageFilter::GetName() const Name of this class- Overrides:
- getNamein class- ProcessObject
 
- 
toStringstd::string itk::simple::RecursiveGaussianImageFilter::ToString() const Print ourselves out- Overrides:
- toStringin class- ProcessObject
 
- 
execute
 
-