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

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

#include <itkDenseFiniteDifferenceImageFilter.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

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

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)

Protected Member Functions

 DenseFiniteDifferenceImageFilter ()
 ~DenseFiniteDifferenceImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void CopyInputToOutput ()
virtual void ApplyUpdate (TimeStepType dt)
virtual UpdateBufferTypeGetUpdateBuffer ()

Detailed Description

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

This filter implements a layer of the finite difference solver hierarchy that performs ``dense'' iteration, ie. iteration over all pixels in the input and output at each change calculation and update step. Dense iteration is in contrast to a ``sparse'' iteration over a subset of the pixels. See documenation for FiniteDifferenceImageFilter for an overview of the iterative finite difference algorithm:

$u_{\mathbf{i}}^{n+1}=u^n_{\mathbf{i}}+\Delta u^n_{\mathbf{i}}\Delta t$
The generic code for performing iterations and updates at each time step is inherited from the parent class. This class defines an update buffer for $ \Delta $ and the methods CalculateChange() and ApplyUpdate(). These methods are designed to automatically thread their execution. $ \Delta $ is defined as an image of identical size and type as the output image.
As we descend through each layer in the hierarchy, we know more and more about the specific application of our filter. At this level, we have committed to iteration over each pixel in an image. We take advantage of that knowledge to multithread the iteration and update methods.
Inputs and Outputs
This is an image to image filter. The specific types of the images are not fixed at this level in the hierarchy.
How to use this class
This filter is only one layer in a branch the finite difference solver hierarchy. It does not define the function used in the CalculateChange() and it does not define the stopping criteria (Halt method). To use this class, subclass it to a specific instance that supplies a function and Halt() method.
See also:
FiniteDifferenceImageFilter

Definition at line 66 of file itkDenseFiniteDifferenceImageFilter.h.


Member Typedef Documentation

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

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 75 of file itkDenseFiniteDifferenceImageFilter.h.

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

The value type of the time step. This is distinct from PixelType because PixelType may often be a vector value, while the TimeStep is a scalar value.

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, and itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >.

Definition at line 84 of file itkDenseFiniteDifferenceImageFilter.h.

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

Convenient typedefs

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

Reimplemented in itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, and itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 81 of file itkDenseFiniteDifferenceImageFilter.h.

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

Superclass typedefs.

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, and itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 82 of file itkDenseFiniteDifferenceImageFilter.h.

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

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

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

Reimplemented in itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, and itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 92 of file itkDenseFiniteDifferenceImageFilter.h.

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

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 74 of file itkDenseFiniteDifferenceImageFilter.h.

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

Standard class typedefs

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 72 of file itkDenseFiniteDifferenceImageFilter.h.

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

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 73 of file itkDenseFiniteDifferenceImageFilter.h.

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

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

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

Reimplemented in itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, and itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

Definition at line 95 of file itkDenseFiniteDifferenceImageFilter.h.

template<class TInputImage, class TOutputImage>
typedef OutputImageType itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::UpdateBufferType
 

The container type for the update buffer.

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

Definition at line 98 of file itkDenseFiniteDifferenceImageFilter.h.


Constructor & Destructor Documentation

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

Definition at line 101 of file itkDenseFiniteDifferenceImageFilter.h.

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

Definition at line 103 of file itkDenseFiniteDifferenceImageFilter.h.


Member Function Documentation

template<class TInputImage, class TOutputImage>
virtual void itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::ApplyUpdate TimeStepType  dt  )  [protected, virtual]
 

This method applies changes from the m_UpdateBuffer to the output using the ThreadedAPplyUpdate() method and a multithreading mechanism. "dt" is the time step to use for the update of each pixel.

Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.

Reimplemented in itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, and itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >.

template<class TInputImage, class TOutputImage>
virtual void itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::CopyInputToOutput  )  [protected, virtual]
 

A simple method to copy the data from the input to the output. ( Supports "read-only" image adaptors in the case where the input image type converts to a different output image type. )

Implements itk::FiniteDifferenceImageFilter< TInputImage, TOutputImage >.

Reimplemented in itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >.

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

Run-time type information (and related methods)

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

template<class TInputImage, class TOutputImage>
virtual UpdateBufferType* itk::DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage >::GetUpdateBuffer  )  [inline, protected, virtual]
 

Method to allow subclasses to get direct access to the update buffer

Definition at line 118 of file itkDenseFiniteDifferenceImageFilter.h.

template<class TInputImage, class TOutputImage>
itk::DenseFiniteDifferenceImageFilter< 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 in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::GradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.

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

Reimplemented in itk::BinaryMinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::DemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::LevelSetMotionRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::MinMaxCurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::SymmetricForcesDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::AnisotropicDiffusionImageFilter< TInputImage, TOutputImage >, and itk::VectorCurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >.


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