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

itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage > Class Template Reference
[Image Enhancement FiltersImage Feature Extraction Filters]

Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian blurring by separable convolution of an image and a discrete Gaussian operator (kernel). More...

#include <itkDiscreteGaussianImageFilter.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef DiscreteGaussianImageFilter Self
typedef ImageToImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputImage InputImageType
typedef TOutputImage OutputImageType
typedef TOutputImage::PixelType OutputPixelType
typedef TOutputImage::InternalPixelType OutputInternalPixelType
typedef TInputImage::PixelType InputPixelType
typedef TInputImage::InternalPixelType InputInternalPixelType
typedef FixedArray< double,
itkGetStaticConstMacro(ImageDimension) 
ArrayType )

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (ImageDimension, unsigned int, TOutputImage::ImageDimension)
void SetVariance (const typename ArrayType::ValueType v)
void SetMaximumError (const typename ArrayType::ValueType v)
void SetVariance (const double *v)
void SetVariance (const float *v)
void SetMaximumError (const double *v)
void SetMaximumError (const float *v)
void SetUseImageSpacingOn ()
void SetUseImageSpacingOff ()
virtual void GenerateInputRequestedRegion () throw (InvalidRequestedRegionError)
virtual void SetVariance (ArrayType _arg)
virtual const ArrayType GetVariance ()
virtual void SetMaximumError (ArrayType _arg)
virtual const ArrayType GetMaximumError ()
virtual int GetMaximumKernelWidth ()
virtual void SetMaximumKernelWidth (int _arg)
virtual unsigned int GetFilterDimensionality ()
virtual void SetFilterDimensionality (unsigned int _arg)
virtual void SetUseImageSpacing (bool _arg)
virtual bool GetUseImageSpacing ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 DiscreteGaussianImageFilter ()
virtual ~DiscreteGaussianImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateData ()

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >

Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian blurring by separable convolution of an image and a discrete Gaussian operator (kernel).

The Gaussian operator used here was described by Tony Lindeberg (Discrete Scale-Space Theory and the Scale-Space Primal Sketch. Dissertation. Royal Institute of Technology, Stockholm, Sweden. May 1991.) The Gaussian kernel used here was designed so that smoothing and derivative operations commute after discretization.

The variance or standard deviation (sigma) will be evaluated as pixel units if SetUseImageSpacing is off (false) or as physical units if SetUseImageSpacing is on (true, default). The variance can be set independently in each dimension.

When the Gaussian kernel is small, this filter tends to run faster than itk::RecursiveGaussianImageFilter.

See also:
GaussianOperator

Image

Neighborhood

NeighborhoodOperator

Definition at line 56 of file itkDiscreteGaussianImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TOutputImage>
typedef FixedArray<double, itkGetStaticConstMacro(ImageDimension) itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::ArrayType)
 

Typedef of double containers

Definition at line 89 of file itkDiscreteGaussianImageFilter.h.

Referenced by itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetMaximumError().

template<class TInputImage, class TOutputImage>
typedef SmartPointer<const Self> itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::ConstPointer
 

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

Definition at line 64 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::InputImageType
 

Image type information.

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

Definition at line 73 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage::InternalPixelType itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::InputInternalPixelType
 

Definition at line 81 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TInputImage::PixelType itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::InputPixelType
 

Definition at line 80 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TOutputImage itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::OutputImageType
 

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 74 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TOutputImage::InternalPixelType itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::OutputInternalPixelType
 

Definition at line 79 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef TOutputImage::PixelType itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::OutputPixelType
 

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

Definition at line 78 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef SmartPointer<Self> itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::Pointer
 

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

Definition at line 63 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef DiscreteGaussianImageFilter itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::Self
 

Standard class typedefs.

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

Definition at line 61 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::Superclass
 

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

Definition at line 62 of file itkDiscreteGaussianImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage, class TOutputImage>
itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::DiscreteGaussianImageFilter  )  [inline, protected]
 

Definition at line 200 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::~DiscreteGaussianImageFilter  )  [inline, protected, virtual]
 

Definition at line 208 of file itkDiscreteGaussianImageFilter.h.


Member Function Documentation

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateData  )  [protected, virtual]
 

Standard pipeline method. While this class does not implement a ThreadedGenerateData(), its GenerateData() delegates all calculations to an NeighborhoodOperatorImageFilter. Since the NeighborhoodOperatorImageFilter is multithreaded, this filter is multithreaded by default.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion  )  throw (InvalidRequestedRegionError) [virtual]
 

DiscreteGaussianImageFilter needs a larger input requested region than the output requested region (larger by the size of the Gaussian kernel). As such, DiscreteGaussianImageFilter 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<class TInputImage, class TOutputImage>
virtual unsigned int itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GetFilterDimensionality  )  [virtual]
 

Set the number of dimensions to smooth. Defaults to the image dimension. Can be set to less than ImageDimension, smoothing all the dimensions less than FilterDimensionality. For instance, to smooth the slices of a volume without smoothing in Z, set the FilterDimensionality to 2.

template<class TInputImage, class TOutputImage>
virtual const ArrayType itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GetMaximumError  )  [virtual]
 

The algorithm will size the discrete kernel so that the error resulting from truncation of the kernel is no greater than MaximumError. The default is 0.01 in each dimension.

template<class TInputImage, class TOutputImage>
virtual int itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GetMaximumKernelWidth  )  [virtual]
 

Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it. The default is 32 pixels.

template<class TInputImage, class TOutputImage>
virtual const char* itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

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

template<class TInputImage, class TOutputImage>
virtual bool itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GetUseImageSpacing  )  [virtual]
 

Set/Get whether or not the filter will use the spacing of the input image in its calculations

template<class TInputImage, class TOutputImage>
virtual const ArrayType itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GetVariance  )  [virtual]
 

The variance for the discrete Gaussian kernel. Sets the variance independently for each dimension, but see also SetVariance(const double v). The default is 0.0 in each dimension. If UseImageSpacing is true, the units are the physical units of your image. If UseImageSpacing is false then the units are pixels.

template<class TInputImage, class TOutputImage>
itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
TOutputImage::ImageDimension 
 

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

template<class TInputImage, class TOutputImage>
Pointer itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< 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 >.

template<class TInputImage, class TOutputImage>
virtual void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetFilterDimensionality unsigned int  _arg  )  [virtual]
 

Set the number of dimensions to smooth. Defaults to the image dimension. Can be set to less than ImageDimension, smoothing all the dimensions less than FilterDimensionality. For instance, to smooth the slices of a volume without smoothing in Z, set the FilterDimensionality to 2.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetMaximumError const float *  v  )  [inline]
 

Definition at line 164 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetMaximumError const double *  v  )  [inline]
 

Definition at line 154 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetMaximumError const typename ArrayType::ValueType  v  )  [inline]
 

Definition at line 129 of file itkDiscreteGaussianImageFilter.h.

References itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::ArrayType.

template<class TInputImage, class TOutputImage>
virtual void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetMaximumError ArrayType  _arg  )  [virtual]
 

The algorithm will size the discrete kernel so that the error resulting from truncation of the kernel is no greater than MaximumError. The default is 0.01 in each dimension.

template<class TInputImage, class TOutputImage>
virtual void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetMaximumKernelWidth int  _arg  )  [virtual]
 

Set the kernel to be no wider than MaximumKernelWidth pixels, even if MaximumError demands it. The default is 32 pixels.

template<class TInputImage, class TOutputImage>
virtual void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetUseImageSpacing bool  _arg  )  [virtual]
 

Set/Get whether or not the filter will use the spacing of the input image in its calculations

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetUseImageSpacingOff  )  [inline]
 

Ignore the image spacing. Use this option if you want to specify Gaussian variance in pixels. Default is ImageSpacingOn.

Definition at line 182 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetUseImageSpacingOn  )  [inline]
 

Use the image spacing information in calculations. Use this option if you want to specify Gaussian variance in real world units. Default is ImageSpacingOn.

Definition at line 177 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetVariance const float *  v  )  [inline]
 

Definition at line 144 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetVariance const double *  v  )  [inline]
 

Definition at line 134 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetVariance const typename ArrayType::ValueType  v  )  [inline]
 

Convenience Set methods for setting all dimensional parameters to the same values.

Definition at line 124 of file itkDiscreteGaussianImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual void itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::SetVariance ArrayType  _arg  )  [virtual]
 

The variance for the discrete Gaussian kernel. Sets the variance independently for each dimension, but see also SetVariance(const double v). The default is 0.0 in each dimension. If UseImageSpacing is true, the units are the physical units of your image. If UseImageSpacing is false then the units are pixels.


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