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

itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage > Class Template Reference
[Image Filters]

Base class for recursive convolution with a kernel. More...

#include <itkRecursiveSeparableImageFilter.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef RecursiveSeparableImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage::ConstPointer InputImageConstPointer
typedef TInputImage::PixelType InputPixelType
typedef NumericTraits< InputPixelType
>::RealType 
RealType
typedef TInputImage InputImageType
typedef TOutputImage OutputImageType

Public Member Functions

virtual const char * GetClassName () const
virtual unsigned int GetDirection ()
virtual void SetDirection (unsigned int _arg)
void SetInputImage (const TInputImage *)
const TInputImage * GetInputImage (void)
virtual void GenerateInputRequestedRegion () throw (InvalidRequestedRegionError)

Protected Member Functions

 RecursiveSeparableImageFilter ()
virtual ~RecursiveSeparableImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateData (void)
void EnlargeOutputRequestedRegion (DataObject *output)
virtual void SetUp (void)=0
void ApplyRecursiveFilter (unsigned int dimension)
virtual void ComputeFilterCoefficients (bool symmetric)=0
void FilterDataArray (RealType *outs, const RealType *data, unsigned int ln)

Protected Attributes

RealType m_K
RealType m_Spacing
RealType m_A0
RealType m_A1
RealType m_B0
RealType m_B1
RealType m_C0
RealType m_C1
RealType m_W0
RealType m_W1
RealType m_N00
RealType m_N11
RealType m_N22
RealType m_N33
RealType m_D11
RealType m_D22
RealType m_D33
RealType m_D44
RealType m_M11
RealType m_M22
RealType m_M33
RealType m_M44
RealType m_BN1
RealType m_BN2
RealType m_BN3
RealType m_BN4
RealType m_BM1
RealType m_BM2
RealType m_BM3
RealType m_BM4

Detailed Description

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

Base class for recursive convolution with a kernel.

RecursiveSeparableImageFilter is the base class for recursive filters that are applied in each dimension separatedly.

This class implements the recursive filtering method proposed by R.Deriche in IEEE-PAMI Vol.12, No.1, January 1990, pp 78-87.

Definition at line 39 of file itkRecursiveSeparableImageFilter.h.


Member Typedef Documentation

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

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

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

Definition at line 47 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef TInputImage::ConstPointer itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::InputImageConstPointer
 

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

Definition at line 54 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef TInputImage::Pointer itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::InputImagePointer
 

Smart pointer typedef support.

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

Definition at line 53 of file itkRecursiveSeparableImageFilter.h.

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

Type of the input image

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

Definition at line 61 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef TInputImage::PixelType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::InputPixelType
 

Real type to be used in internal computations Definition at line 57 of file itkRecursiveSeparableImageFilter.h.

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

Type of the output image

Reimplemented from itk::ImageSource< TOutputImage >.

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

Definition at line 64 of file itkRecursiveSeparableImageFilter.h.

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

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

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

Definition at line 46 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
typedef NumericTraits<InputPixelType>::RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::RealType
 

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

Definition at line 58 of file itkRecursiveSeparableImageFilter.h.

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

Standard class typedefs.

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

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

Definition at line 44 of file itkRecursiveSeparableImageFilter.h.

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

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

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

Definition at line 45 of file itkRecursiveSeparableImageFilter.h.


Constructor & Destructor Documentation

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

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

Definition at line 87 of file itkRecursiveSeparableImageFilter.h.


Member Function Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::ApplyRecursiveFilter unsigned int  dimension  )  [protected]
 

Apply the recursive filter along one of the dimensions of the image. This allow to filter each one of the dimensions of an image separately. Sigma is given in length units so the spacing between pixels is taken into account. This is relevant for anisotropic images.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::ComputeFilterCoefficients bool  symmetric  )  [protected, pure 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.

Implemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion DataObject output  )  [protected, virtual]
 

Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.

Reimplemented from itk::ProcessObject.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::FilterDataArray RealType outs,
const RealType data,
unsigned int  ln
[protected]
 

Apply the Recursive Filter in an array of data. this method is called for each line of the volume from ApplyRecursiveFilter.

See also:
ApplyRecursiveFilter.

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

GenerateData (apply) the filter.

Reimplemented from itk::ImageSource< TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion  )  throw (InvalidRequestedRegionError) [virtual]
 

RecursiveSeparableImageFilter needs all of the input to produce an output. Therefore, RecursiveSeparableImageFilter needs to provide an implementation for GenerateInputRequestedRegion in order to inform the pipeline execution model.

See also:
ImageToImageFilter::GenerateInputRequestedRegion()

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

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

Type macro that defines a name for this class.

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

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual unsigned int itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::GetDirection  )  [virtual]
 

Get the direction in which the filter is to be applied.

template<typename TInputImage, typename TOutputImage = TInputImage>
const TInputImage* itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::GetInputImage void   ) 
 

Get Input Image.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveSeparableImageFilter< 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::ImageToImageFilter< TInputImage, TOutputImage >.

Reimplemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::SetDirection unsigned int  _arg  )  [virtual]
 

Set the direction in which the filter is to be applied.

template<typename TInputImage, typename TOutputImage = TInputImage>
void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::SetInputImage const TInputImage *   ) 
 

Set Input Image.

template<typename TInputImage, typename TOutputImage = TInputImage>
virtual void itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::SetUp void   )  [protected, pure 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.

Implemented in itk::RecursiveGaussianImageFilter< TInputImage, TOutputImage >.


Member Data Documentation

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_A0 [protected]
 

Parameter of exponential series. Definition at line 136 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_A1 [protected]
 

Definition at line 137 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_B0 [protected]
 

Definition at line 138 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_B1 [protected]
 

Definition at line 139 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BM1 [protected]
 

Definition at line 170 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BM2 [protected]
 

Definition at line 171 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BM3 [protected]
 

Definition at line 172 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BM4 [protected]
 

Definition at line 173 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BN1 [protected]
 

Recursive coefficients to be used at the boundaries to prevent border effects Definition at line 165 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BN2 [protected]
 

Definition at line 166 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BN3 [protected]
 

Definition at line 167 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_BN4 [protected]
 

Definition at line 168 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_C0 [protected]
 

Definition at line 140 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_C1 [protected]
 

Definition at line 141 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_D11 [protected]
 

Recursive coefficients that multiply previously computed values at the output. In this case the Causal coefficients == Anticausal coefficients. Definition at line 153 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_D22 [protected]
 

Definition at line 154 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_D33 [protected]
 

Definition at line 155 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_D44 [protected]
 

Definition at line 156 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_K [protected]
 

Normalization factor. Definition at line 130 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_M11 [protected]
 

Anti-Causal coefficients (symmetric case). that multiply the input data Definition at line 159 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_M22 [protected]
 

Definition at line 160 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_M33 [protected]
 

Definition at line 161 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_M44 [protected]
 

Definition at line 162 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_N00 [protected]
 

Causal coefficients that multiply the input data. Definition at line 146 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_N11 [protected]
 

Definition at line 147 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_N22 [protected]
 

Definition at line 148 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_N33 [protected]
 

Definition at line 149 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_Spacing [protected]
 

Spacing along the direction of filtering. Definition at line 133 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_W0 [protected]
 

Definition at line 142 of file itkRecursiveSeparableImageFilter.h.

template<typename TInputImage, typename TOutputImage = TInputImage>
RealType itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::m_W1 [protected]
 

Definition at line 143 of file itkRecursiveSeparableImageFilter.h.


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