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

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

#include <itkAnisotropicDiffusionImageFilter.h>

Inheritance diagram for itk::AnisotropicDiffusionImageFilter:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef AnisotropicDiffusionImageFilter Self
typedef DenseFiniteDifferenceImageFilter<
TInputImage, TOutputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::InputImageType InputImageType
typedef Superclass::OutputImageType OutputImageType
typedef Superclass::UpdateBufferType UpdateBufferType
typedef Superclass::PixelType PixelType
typedef Superclass::TimeStepType TimeStepType

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
virtual void SetIterations (unsigned int _arg)
virtual unsigned int GetIterations ()
virtual void SetTimeStep (TimeStepType _arg)
virtual TimeStepType GetTimeStep ()
virtual void SetConductanceParameter (double _arg)
virtual double GetConductanceParameter ()
virtual void SetConductanceScalingUpdateInterval (unsigned int _arg)
virtual unsigned int GetConductanceScalingUpdateInterval ()
virtual void SetConductanceScalingParameter (double _arg)
virtual double GetConductanceScalingParameter ()
void SetFixedAverageGradientMagnitude (double a)
virtual double GetFixedAverageGradientMagnitude ()

Static Public Methods

Pointer New ()

Protected Methods

 AnisotropicDiffusionImageFilter ()
 ~AnisotropicDiffusionImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void InitializeIteration ()
virtual bool Halt ()

Protected Attributes

bool m_GradientMagnitudeIsFixed

Detailed Description

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

This filter is the base class for a set of filters that iteratively diffuse images by solving non-linear partial differential equations based on the classical heat equation. For an overview of the diffusion algorithm, see AnisotropicImageFunction. AnisotropicDiffusionImageFilter is a subclass of itkFiniteDifferenceImageFilter and is part of the finite difference solver hierarchy.
Inputs and Outputs
This is an image-to-image filter. The requirements for data types and dimensionality of the input and output are defined by subclasses.
Parameters
Set/GetIterations specifies the number of iterations (time-step updates) that the solver will perform to produce a solution image. The appropriate number of iterations is dependent on the application and the image being processed. As a general rule, the more iterations performed, the more diffused the image will become.

Set/GetTimeStep sets the time step to be used for each iteration (update). This parameter is described in detail in itkAnisotropicImageFunction.

Set/GetConductanceParameter set a common parameter used by subclasses of itkAnisotropicDiffusionFunction. See itkAnisotropicDiffusionFunction for detailed information.

How to use this filter
AnisotropicDiffusionImageFilter must be subclassed to be used. This class implements a generic framework for other diffusion filters.
See also:
GradientAnisotropicDiffusionImageFilter , VectorGradientAnisotropicDiffusionImageFilter , CurvatureAnisotropicDiffusionImageFilter , VectorCurvatureAnisotropicDiffusionImageFilter

Definition at line 64 of file itkAnisotropicDiffusionImageFilter.h.


Member Typedef Documentation

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

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 73 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::InputImageType itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::InputImageType
 

Capture information from the superclass.

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

Definition at line 83 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::OutputImageType itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::OutputImageType
 

Some convenient typedefs.

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

Definition at line 84 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::PixelType itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::PixelType
 

The pixel type of the output image will be used in computations. Inherited from the superclass.

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

Definition at line 93 of file itkAnisotropicDiffusionImageFilter.h.

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

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 72 of file itkAnisotropicDiffusionImageFilter.h.

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

Standard class typedefs.

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 69 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef DenseFiniteDifferenceImageFilter<TInputImage, TOutputImage> itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::Superclass
 

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 71 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::TimeStepType itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::TimeStepType
 

The value type of a time step. Inherited from the superclass.

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

Definition at line 94 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef Superclass::UpdateBufferType itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::UpdateBufferType
 

The container type for the update buffer.

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 85 of file itkAnisotropicDiffusionImageFilter.h.


Constructor & Destructor Documentation

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

Definition at line 137 of file itkAnisotropicDiffusionImageFilter.h.

References itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::m_GradientMagnitudeIsFixed.

template<class TInputImage, class TOutputImage>
itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::~AnisotropicDiffusionImageFilter   [inline, protected]
 

Definition at line 145 of file itkAnisotropicDiffusionImageFilter.h.


Member Function Documentation

template<class TInputImage, class TOutputImage>
virtual const char* itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetClassName   const [virtual]
 

Run-time type information.

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual double itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetConductanceParameter   [virtual]
 

Set/Get the conductance parameter governing sensitivity of the conductance equation.

template<class TInputImage, class TOutputImage>
virtual double itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetConductanceScalingParameter   [virtual]
 

The following parameters are not used at this time. Setting them will have no effect on the output

template<class TInputImage, class TOutputImage>
virtual unsigned int itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetConductanceScalingUpdateInterval   [virtual]
 

The following parameters are not used at this time. Setting them will have no effect on the output

template<class TInputImage, class TOutputImage>
virtual double itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetFixedAverageGradientMagnitude   [virtual]
 

Supplies a fixed value for the average gradient magnitude of the image to the AnisotropicDiffusionFunction at each iteration. The average gradient magnitude is normally calculated over the entire image before each iteration and is used as a scaling factor in the calculations of change at a pixel. This method is useful in streaming applications to avoid block artifacts by overriding the normal gradient magnitude calculation (i.e. all image chunks are scaled uniformly).

template<class TInputImage, class TOutputImage>
virtual unsigned int itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetIterations   [virtual]
 

Set/Get the number of iterations that the filter will run.

template<class TInputImage, class TOutputImage>
virtual TimeStepType itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::GetTimeStep   [virtual]
 

Set/Get the time step for each iteration

template<class TInputImage, class TOutputImage>
virtual bool itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::Halt   [inline, protected, virtual]
 

Supplies the halting criteria for this class of filters. The algorithm will stop after a user-specified number of iterations.

Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.

Definition at line 164 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::InitializeIteration   [inline, protected, virtual]
 

Prepare for the iteration process.

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

Definition at line 172 of file itkAnisotropicDiffusionImageFilter.h.

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

Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

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

Smart pointer support for this class.

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

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::PrintSelf std::ostream &    os,
Indent    indent
const [inline, 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::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >.

Reimplemented in itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 146 of file itkAnisotropicDiffusionImageFilter.h.

template<class TInputImage, class TOutputImage>
virtual void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetConductanceParameter double    _arg [virtual]
 

Set/Get the conductance parameter governing sensitivity of the conductance equation.

template<class TInputImage, class TOutputImage>
virtual void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetConductanceScalingParameter double    _arg [virtual]
 

The following parameters are not used at this time. Setting them will have no effect on the output

template<class TInputImage, class TOutputImage>
virtual void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetConductanceScalingUpdateInterval unsigned int    _arg [virtual]
 

The following parameters are not used at this time. Setting them will have no effect on the output

template<class TInputImage, class TOutputImage>
void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetFixedAverageGradientMagnitude double    a [inline]
 

Supplies a fixed value for the average gradient magnitude of the image to the AnisotropicDiffusionFunction at each iteration. The average gradient magnitude is normally calculated over the entire image before each iteration and is used as a scaling factor in the calculations of change at a pixel. This method is useful in streaming applications to avoid block artifacts by overriding the normal gradient magnitude calculation (i.e. all image chunks are scaled uniformly).

Definition at line 127 of file itkAnisotropicDiffusionImageFilter.h.

References itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::m_GradientMagnitudeIsFixed.

template<class TInputImage, class TOutputImage>
virtual void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetIterations unsigned int    _arg [virtual]
 

Set/Get the number of iterations that the filter will run.

template<class TInputImage, class TOutputImage>
virtual void itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetTimeStep TimeStepType    _arg [virtual]
 

Set/Get the time step for each iteration


Member Data Documentation

template<class TInputImage, class TOutputImage>
bool itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::m_GradientMagnitudeIsFixed [protected]
 

Definition at line 201 of file itkAnisotropicDiffusionImageFilter.h.

Referenced by itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::AnisotropicDiffusionImageFilter(), and itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >::SetFixedAverageGradientMagnitude().


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:13:53 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000