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 NumericTraits< InputPixelType
>::ScalarRealType 
ScalarRealType
typedef TInputImage InputImageType
typedef TOutputImage OutputImageType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual unsigned int GetDirection ()
virtual void SetDirection (unsigned int _arg)
void SetInputImage (const TInputImage *)
const TInputImage * GetInputImage (void)

Protected Member Functions

 RecursiveSeparableImageFilter ()
virtual ~RecursiveSeparableImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateData (void)
virtual void GenerateInputRequestedRegion () throw (InvalidRequestedRegionError)
void EnlargeOutputRequestedRegion (DataObject *output)
virtual void SetUp (ScalarRealType spacing)=0
void FilterDataArray (RealType *outs, const RealType *data, RealType *scratch, unsigned int ln)

Protected Attributes

ScalarRealType m_N0
ScalarRealType m_N1
ScalarRealType m_N2
ScalarRealType m_N3
ScalarRealType m_D1
ScalarRealType m_D2
ScalarRealType m_D3
ScalarRealType m_D4
ScalarRealType m_M1
ScalarRealType m_M2
ScalarRealType m_M3
ScalarRealType m_M4
ScalarRealType m_BN1
ScalarRealType m_BN2
ScalarRealType m_BN3
ScalarRealType m_BN4
ScalarRealType m_BM1
ScalarRealType m_BM2
ScalarRealType m_BM3
ScalarRealType 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 separately. If multi-component images are specified, the filtering operation works on each component independently.

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

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. Farneback & C.-F. Westin, "On Implementation of Recursive Gaussian Filters", so far unpublished.

Definition at line 49 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 57 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 64 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 63 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 75 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. RealType in general is templated over the pixel type. (For example for vector or tensor pixels, RealType is a vector or a tensor of doubles.) ScalarRealType is a type meant for scalars.

Definition at line 70 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 78 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 56 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 71 of file itkRecursiveSeparableImageFilter.h.

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

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

Definition at line 72 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 54 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 55 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 94 of file itkRecursiveSeparableImageFilter.h.


Member Function Documentation

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,
RealType scratch,
unsigned int  ln
[protected]
 

Apply the Recursive Filter to an array of data. This method is called for each line of the volume. Parameter "scratch" is a scratch area used for internal computations that is the same size as the parameters "outs" and "data". The scratch area must be allocated outside of this routine (this avoids memory allocation and deallocation in the inner loop of the overall algorithm.

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) [protected, 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 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>
virtual const char* itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::GetNameOfClass  )  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>
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 ScalarRealType  spacing  )  [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. Parameter is the spacing along the dimension to filter.

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


Member Data Documentation

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

Definition at line 161 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 162 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 163 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 164 of file itkRecursiveSeparableImageFilter.h.

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

Recursive coefficients to be used at the boundaries to simulate edge extension boundary conditions.

Definition at line 156 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 157 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 158 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 159 of file itkRecursiveSeparableImageFilter.h.

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

Recursive coefficients that multiply previously computed values at the output. These are the same for the causal and anti-causal parts of the filter.

Definition at line 143 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 144 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 145 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 146 of file itkRecursiveSeparableImageFilter.h.

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

Anti-causal coefficients that multiply the input data.

Definition at line 149 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 150 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 151 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 152 of file itkRecursiveSeparableImageFilter.h.

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

Causal coefficients that multiply the input data.

Definition at line 135 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 136 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 137 of file itkRecursiveSeparableImageFilter.h.

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

Definition at line 138 of file itkRecursiveSeparableImageFilter.h.


The documentation for this class was generated from the following file:
Generated at Thu May 25 02:10:34 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000