ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <itkSmoothingRecursiveGaussianImageFilter.h>

+ Inheritance diagram for itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >:

List of all members.

Public Types

typedef CastingFilterType::Pointer CastingFilterPointer
typedef CastImageFilter
< RealImageType,
OutputImageType
CastingFilterType
typedef SmartPointer< const SelfConstPointer
typedef
FirstGaussianFilterType::Pointer 
FirstGaussianFilterPointer
typedef
RecursiveGaussianImageFilter
< InputImageType,
RealImageType
FirstGaussianFilterType
typedef TInputImage InputImageType
typedef
InternalGaussianFilterType::Pointer 
InternalGaussianFilterPointer
typedef
RecursiveGaussianImageFilter
< RealImageType, RealImageType
InternalGaussianFilterType
typedef NumericTraits
< PixelType >::FloatType 
InternalRealType
typedef OutputImageType::Pointer OutputImagePointer
typedef TOutputImage OutputImageType
typedef TInputImage::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef
InputImageType::template
Rebind< InternalRealType >
::Type 
RealImageType
typedef NumericTraits
< PixelType >::RealType 
RealType
typedef NumericTraits
< PixelType >::ScalarRealType 
ScalarRealType
typedef
SmoothingRecursiveGaussianImageFilter 
Self
typedef FixedArray
< ScalarRealType,
itkGetStaticConstMacro(ImageDimension) > 
SigmaArrayType
typedef InPlaceImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual bool CanRunInPlace (void) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
ScalarRealType GetSigma () const
SigmaArrayType GetSigmaArray () const
void SetNumberOfThreads (ThreadIdType nb)
void SetSigmaArray (const SigmaArrayType &sigmas)
void SetSigma (ScalarRealType sigma)
void SetNormalizeAcrossScale (bool normalizeInScaleSpace)
virtual bool GetNormalizeAcrossScale () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

void EnlargeOutputRequestedRegion (DataObject *output)
void GenerateData (void)
virtual void GenerateInputRequestedRegion () throw ( InvalidRequestedRegionError )
 SmoothingRecursiveGaussianImageFilter ()
virtual ~SmoothingRecursiveGaussianImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const

Private Member Functions

void operator= (const Self &)
 SmoothingRecursiveGaussianImageFilter (const Self &)

Private Attributes

CastingFilterPointer m_CastingFilter
FirstGaussianFilterPointer m_FirstSmoothingFilter
bool m_NormalizeAcrossScale
SigmaArrayType m_Sigma
InternalGaussianFilterPointer m_SmoothingFilters [ImageDimension-1]

Detailed Description

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

Computes the smoothing of an image by convolution with the Gaussian kernels implemented as IIR filters.

This filter is implemented using the recursive gaussian filters. For multi-component images, the filter works on each component independently.

For this filter to be able to run in-place the input and output image types need to be the same and/or the same type as the RealImageType.

Wiki Examples:

Definition at line 51 of file itkSmoothingRecursiveGaussianImageFilter.h.


Member Typedef Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef CastingFilterType::Pointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::CastingFilterPointer

Pointer to the last filter, casting

Definition at line 112 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef CastImageFilter< RealImageType, OutputImageType > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::CastingFilterType

The last in the pipeline

Definition at line 103 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef SmartPointer< const Self > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::ConstPointer
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef FirstGaussianFilterType::Pointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::FirstGaussianFilterPointer

Pointer to the first gaussian filter.

Definition at line 109 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef RecursiveGaussianImageFilter< InputImageType, RealImageType > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::FirstGaussianFilterType

The first in the pipeline

Definition at line 91 of file itkSmoothingRecursiveGaussianImageFilter.h.

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

Pixel Type of the input image

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

Definition at line 62 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef InternalGaussianFilterType::Pointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InternalGaussianFilterPointer

Pointer to a gaussian filter.

Definition at line 106 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef RecursiveGaussianImageFilter< RealImageType, RealImageType > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InternalGaussianFilterType

Smoothing filter type

Definition at line 97 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef NumericTraits< PixelType >::FloatType itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::InternalRealType

Define the image type for internal computations RealType is usually 'double' in NumericTraits. Here we prefer float in order to save memory.

Definition at line 84 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef OutputImageType::Pointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::OutputImagePointer

Pointer to the Output Image

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

Definition at line 115 of file itkSmoothingRecursiveGaussianImageFilter.h.

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

Superclass typedefs.

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

Definition at line 63 of file itkSmoothingRecursiveGaussianImageFilter.h.

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

Definition at line 64 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef SmartPointer< Self > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::Pointer
template<typename TInputImage , typename TOutputImage = TInputImage>
typedef InputImageType::template Rebind<InternalRealType>::Type itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::RealImageType

Definition at line 85 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef NumericTraits< PixelType >::RealType itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::RealType

Definition at line 65 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef NumericTraits< PixelType >::ScalarRealType itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::ScalarRealType

Definition at line 66 of file itkSmoothingRecursiveGaussianImageFilter.h.

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

Standard class typedefs.

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

Definition at line 56 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef FixedArray< ScalarRealType, itkGetStaticConstMacro(ImageDimension) > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SigmaArrayType

Define the type for the sigma array

Definition at line 78 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef InPlaceImageFilter< TInputImage, TOutputImage > itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

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

Begin concept checking End concept checking

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

Begin concept checking End concept checking

Definition at line 157 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SmoothingRecursiveGaussianImageFilter ( const Self ) [private]

Member Function Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual bool itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::CanRunInPlace ( void  ) const [virtual]

Can the filter run in place? To do so, the filter's first input and output must have the same dimension and pixel type. This method can be used in conjunction with the InPlace ivar to determine whether a particular use of the filter is really running in place. Some filters may be able to optimize their operation if the InPlace is true and CanRunInPlace is true. CanRunInPlace may also be overridded by InPlaceImageFilter subclasses to fine tune its behavior.

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

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( DataObject ) [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::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GenerateData ( void  ) [protected, virtual]

Generate Data

Reimplemented from itk::ImageSource< TOutputImage >.

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

SmoothingRecursiveGaussianImageFilter needs all of the input to produce an output. Therefore, SmoothingRecursiveGaussianImageFilter 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::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const [virtual]

Runtime information support.

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

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

This method does not effect the output of this filter.

See also:
RecursiveGaussianImageFilter::SetNormalizeAcrossScale
template<typename TInputImage , typename TOutputImage = TInputImage>
ScalarRealType itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetSigma ( ) const
template<typename TInputImage , typename TOutputImage = TInputImage>
SigmaArrayType itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GetSigmaArray ( ) const
template<typename TInputImage , typename TOutputImage = TInputImage>
static Pointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

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

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

Begin concept checking End concept checking

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

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetNormalizeAcrossScale ( bool  normalizeInScaleSpace)

This method does not effect the output of this filter.

See also:
RecursiveGaussianImageFilter::SetNormalizeAcrossScale
template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetNumberOfThreads ( ThreadIdType  _arg) [virtual]

Get/Set the number of threads to create when executing.

Reimplemented from itk::ProcessObject.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSigma ( ScalarRealType  sigma)

Set Sigma value. Sigma is measured in the units of image spacing. You may use the method SetSigma to set the same value across each axis or use the method SetSigmaArray if you need different values along each axis.

template<typename TInputImage , typename TOutputImage = TInputImage>
void itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::SetSigmaArray ( const SigmaArrayType sigmas)

Set Sigma value. Sigma is measured in the units of image spacing. You may use the method SetSigma to set the same value across each axis or use the method SetSigmaArray if you need different values along each axis.


Member Data Documentation

template<typename TInputImage , typename TOutputImage = TInputImage>
const unsigned int itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension [static]

Image dimension.

Definition at line 74 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
CastingFilterPointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_CastingFilter [private]

Definition at line 184 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
FirstGaussianFilterPointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_FirstSmoothingFilter [private]

Definition at line 183 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
bool itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_NormalizeAcrossScale [private]

Normalize the image across scale space

Definition at line 187 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
SigmaArrayType itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_Sigma [private]

Standard deviation of the gaussian used for smoothing

Definition at line 190 of file itkSmoothingRecursiveGaussianImageFilter.h.

template<typename TInputImage , typename TOutputImage = TInputImage>
InternalGaussianFilterPointer itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::m_SmoothingFilters[ImageDimension-1] [private]

Definition at line 182 of file itkSmoothingRecursiveGaussianImageFilter.h.


The documentation for this class was generated from the following file: