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

itk::CurvatureFlowFunction< TImage > Class Template Reference
[Finite Difference Functions]

#include <itkCurvatureFlowFunction.h>

Inheritance diagram for itk::CurvatureFlowFunction:

Inheritance graph
[legend]
Collaboration diagram for itk::CurvatureFlowFunction< TImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CurvatureFlowFunction Self
typedef FiniteDifferenceFunction<
TImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ImageType ImageType
typedef Superclass::PixelType PixelType
typedef Superclass::RadiusType RadiusType
typedef PixelType ScalarValueType
typedef Superclass::NeighborhoodType NeighborhoodType
typedef Superclass::FloatOffsetType FloatOffsetType
typedef Superclass::TimeStepType TimeStepType

Public Methods

virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
virtual TimeStepType ComputeGlobalTimeStep (void *GlobalData) const
virtual void ReleaseGlobalDataPointer (void *GlobalData) const
void SetTimeStep (const TimeStepType &t)
const TimeStepTypeGetTimeStep () const
virtual PixelType ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) const
virtual void * GetGlobalDataPointer () const

Static Public Methods

Pointer New ()

Protected Methods

 CurvatureFlowFunction ()
 ~CurvatureFlowFunction ()

Detailed Description

template<class TImage>
class itk::CurvatureFlowFunction< TImage >

This class encapsulate the finite difference equation which drives a curvature flow denoising algorithm.

This class uses a zero flux Neumann boundary condition when computing derivatives near the data boundary.

This class operates as part of the finite difference solver hierarchy.

See also:
CurvatureFlowImageFilter , ZeroFluxNeumannBoundaryCondition

Definition at line 40 of file itkCurvatureFlowFunction.h.


Member Typedef Documentation

template<class TImage>
typedef SmartPointer<const Self> itk::CurvatureFlowFunction< TImage >::ConstPointer
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 48 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef Superclass::FloatOffsetType itk::CurvatureFlowFunction< TImage >::FloatOffsetType
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 63 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef Superclass::ImageType itk::CurvatureFlowFunction< TImage >::ImageType
 

Inherit some parameters from the superclass type.

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 58 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef Superclass::NeighborhoodType itk::CurvatureFlowFunction< TImage >::NeighborhoodType
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 62 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef Superclass::PixelType itk::CurvatureFlowFunction< TImage >::PixelType
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 59 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef SmartPointer<Self> itk::CurvatureFlowFunction< TImage >::Pointer
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 47 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef Superclass::RadiusType itk::CurvatureFlowFunction< TImage >::RadiusType
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 60 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef PixelType itk::CurvatureFlowFunction< TImage >::ScalarValueType
 

Definition at line 61 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef CurvatureFlowFunction itk::CurvatureFlowFunction< TImage >::Self
 

Standard class typedefs.

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 45 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef FiniteDifferenceFunction<TImage> itk::CurvatureFlowFunction< TImage >::Superclass
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

Definition at line 46 of file itkCurvatureFlowFunction.h.

template<class TImage>
typedef Superclass::TimeStepType itk::CurvatureFlowFunction< TImage >::TimeStepType
 

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Definition at line 64 of file itkCurvatureFlowFunction.h.

Referenced by itk::CurvatureFlowFunction< TImage >::~CurvatureFlowFunction().


Constructor & Destructor Documentation

template<class TImage>
itk::CurvatureFlowFunction< TImage >::CurvatureFlowFunction   [protected]
 

template<class TImage>
itk::CurvatureFlowFunction< TImage >::~CurvatureFlowFunction   [inline, protected]
 

Definition at line 133 of file itkCurvatureFlowFunction.h.

References itk::CurvatureFlowFunction< TImage >::TimeStepType.


Member Function Documentation

template<class TImage>
virtual TimeStepType itk::CurvatureFlowFunction< TImage >::ComputeGlobalTimeStep void *    GlobalData const [virtual]
 

Computes the time step for an update given a global data structure. The data used in the computation may take different forms depending on the nature of the equations. This global data cannot be kept in the instance of the equation object itself since the equation object must remain stateless for thread safety. The global data is therefore managed for each thread by the finite difference solver filters.

Currently, this function returns the user specified constant time step.

Todo:
compute timestep based on CFL condition.

Implements itk::FiniteDifferenceFunction< TImage >.

template<class TImage>
virtual PixelType itk::CurvatureFlowFunction< TImage >::ComputeUpdate const NeighborhoodType   neighborhood,
void *    globalData,
const FloatOffsetType   offset = FloatOffsetType(0.0)
const [virtual]
 

This method computes the solution update for each pixel that does not lie on a the data set boundary.

Implements itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

template<class TImage>
virtual const char* itk::CurvatureFlowFunction< TImage >::GetClassName   const [virtual]
 

Run-time type information (and related methods)

Reimplemented from itk::FiniteDifferenceFunction< TImage >.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

template<class TImage>
virtual void* itk::CurvatureFlowFunction< TImage >::GetGlobalDataPointer   const [inline, virtual]
 

Returns a pointer to a global data structure that is passed to this object from the solver at each calculation. The idea is that the solver holds the state of any global values needed to calculate the time step, while the equation object performs the actual calculations. The global data should also be initialized in this method.

Implements itk::FiniteDifferenceFunction< TImage >.

Definition at line 86 of file itkCurvatureFlowFunction.h.

References itk::CurvatureFlowFunction< TImage >::GlobalDataStruct::m_MaxChange.

template<class TImage>
const TimeStepType& itk::CurvatureFlowFunction< TImage >::GetTimeStep   const [inline]
 

Get the time step parameter

Definition at line 106 of file itkCurvatureFlowFunction.h.

template<class TImage>
itk::CurvatureFlowFunction< TImage >::itkStaticConstMacro ImageDimension   ,
unsigned    int,
Superclass::ImageDimension   
 

Extract superclass dimension.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

template<class TImage>
Pointer itk::CurvatureFlowFunction< TImage >::New   [static]
 

Method for creation through the object factory.

Reimplemented from itk::LightObject.

Reimplemented in itk::BinaryMinMaxCurvatureFlowFunction< TImage >, and itk::MinMaxCurvatureFlowFunction< TImage >.

template<class TImage>
virtual void itk::CurvatureFlowFunction< TImage >::ReleaseGlobalDataPointer void *    GlobalData const [inline, virtual]
 

When the finite difference solver filter has finished using a global data pointer, it passes it to this method, which frees the memory. The solver cannot free the memory because it does not know the type to which the pointer points.

Implements itk::FiniteDifferenceFunction< TImage >.

Definition at line 98 of file itkCurvatureFlowFunction.h.

template<class TImage>
void itk::CurvatureFlowFunction< TImage >::SetTimeStep const TimeStepType   t [inline]
 

Set the time step parameter

Definition at line 102 of file itkCurvatureFlowFunction.h.


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:24:07 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000