Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage > Class Template Reference
[Image Enhancement FiltersSinglethreaded Filters]

Base class for computing IIR convolution with a Gaussian kernel. More...

#include <itkRecursiveGaussianImageFilter.h>

Inheritance diagram for itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef RecursiveGaussianImageFilter Self
typedef RecursiveSeparableImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::RealType RealType
typedef TOutputImage OutputImageType
enum  OrderEnumType { ZeroOrder, FirstOrder, SecondOrder }

Public Member Functions

virtual const char * GetClassName () const
virtual void SetNormalizeAcrossScale (bool _arg)
virtual bool GetNormalizeAcrossScale ()
void SetZeroOrder ()
void SetFirstOrder ()
void SetSecondOrder ()
virtual RealType GetSigma ()
virtual void SetSigma (RealType _arg)
virtual void SetOrder (OrderEnumType _arg)
virtual OrderEnumType GetOrder ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 RecursiveGaussianImageFilter ()
virtual ~RecursiveGaussianImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void SetUp (void)
void ComputeFilterCoefficients (bool symmetric)

Detailed Description

template<typename TInputImage, typename TOutputImage = TInputImage>
class itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >

Base class for computing IIR convolution with 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.

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().

Definition at line 47 of file itkRecursiveGaussianImageFilter.h.


Member Typedef Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef SmartPointer<const Self> itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::ConstPointer
 

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

Definition at line 55 of file itkRecursiveGaussianImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef TOutputImage itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::OutputImageType
 

Type of the output image

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

Definition at line 77 of file itkRecursiveGaussianImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef SmartPointer<Self> itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::Pointer
 

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

Definition at line 54 of file itkRecursiveGaussianImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef Superclass::RealType itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::RealType
 

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

Definition at line 57 of file itkRecursiveGaussianImageFilter.h.

Referenced by itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveGaussianImageFilter().

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef RecursiveGaussianImageFilter itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::Self
 

Standard class typedefs.

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

Definition at line 52 of file itkRecursiveGaussianImageFilter.h.

Referenced by itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveGaussianImageFilter().

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef RecursiveSeparableImageFilter<TInputImage,TOutputImage> itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::Superclass
 

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

Definition at line 53 of file itkRecursiveGaussianImageFilter.h.


Member Enumeration Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
enum itk::RecursiveGaussianImageFilter::OrderEnumType
 

Enum type that indicates if the filter applies the equivalent operation of convolving with a gaussian, first derivative of a gaussian or the second derivative of a gaussian.

Enumeration values:
ZeroOrder 
FirstOrder 
SecondOrder 
Definition at line 74 of file itkRecursiveGaussianImageFilter.h.


Constructor & Destructor Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::RecursiveGaussianImageFilter  )  [protected]
 

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveGaussianImageFilter  )  [inline, protected, virtual]
 

Definition at line 120 of file itkRecursiveGaussianImageFilter.h.

References itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::RealType, and itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::Self.


Member Function Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::ComputeFilterCoefficients bool  symmetric  )  [protected, virtual]
 

Compute Recursive Filter Coefficients this method prepares the values of the coefficients used for filtering the image. The symmetric flag is used to enforce that the filter will be symmetric or antisymmetric. For example, the Gaussian kernel is symmetric, while its first derivative is antisymmetric.

Implements itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual const char* itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetClassName  )  const [virtual]
 

Type macro that defines a name for this class

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual bool itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetNormalizeAcrossScale  )  [virtual]
 

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual OrderEnumType itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetOrder  )  [virtual]
 

Set/Get the Order of the Gaussian to convolve with.

  • ZeroOrder is equivalent to convolving with a Gaussian. This is the default.
  • FirstOrder is equivalet to convolving with the first derivative of a Gaussian
  • SecondOrder is equivalet to convolving with the second derivative of a Gaussian

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual RealType itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetSigma  )  [virtual]
 

Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel. The default is 1.0.

template<typename TInputImage, typename TOutputImage = TInputImage>
Pointer itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetFirstOrder  ) 
 

Explicitly set a first order derivative

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetNormalizeAcrossScale bool  _arg  )  [virtual]
 

Set/Get the flag for normalizing the gaussian over scale Space When this flag is ON the filter will be normalized in such a way that larger sigmas will not result in the image fading away.

\[ \frac{ 1 }{ \sqrt{ 2 \pi } }; \]

When the flag is OFF the normalization will conserve contant the integral of the image intensity.

\[ \frac{ 1 }{ \sigma \sqrt{ 2 \pi } }; \]

For analyzing an image across Scale Space you want to enable this flag. It is disabled by default.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetOrder OrderEnumType  _arg  )  [virtual]
 

Set/Get the Order of the Gaussian to convolve with.

  • ZeroOrder is equivalent to convolving with a Gaussian. This is the default.
  • FirstOrder is equivalet to convolving with the first derivative of a Gaussian
  • SecondOrder is equivalet to convolving with the second derivative of a Gaussian

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSecondOrder  ) 
 

Explicitly set a second order derivative

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSigma RealType  _arg  )  [virtual]
 

Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel. The default is 1.0.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetUp void   )  [protected, virtual]
 

Set up the coefficients of the filter to approximate a specific kernel. typically it can be used to approximate a gaussian or one of its derivatives.

Implements itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetZeroOrder  ) 
 

Explicitly set a zeroth order derivative


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 02:57:21 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000