ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions
itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet > Class Template Reference

Class for iterating and evolving the dense level-set function. More...

#include <itkLevelSetEvolutionBase.h>

Inheritance diagram for itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >:
Collaboration diagram for itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >:

List of all members.

Public Types

typedef
LevelSetContainerType::CacheImageType 
CacheImageType
typedef SmartPointer< const SelfConstPointer
typedef
LevelSetContainerType::DomainMapImageFilterType 
DomainMapImageFilterType
typedef
EquationContainerType::Pointer 
EquationContainerPointer
typedef TEquationContainer EquationContainerType
typedef
LevelSetContainerType::IdListConstIterator 
IdListConstIterator
typedef
LevelSetContainerType::IdListImageType 
IdListImageType
typedef
LevelSetContainerType::IdListIterator 
IdListIterator
typedef
LevelSetContainerType::IdListType 
IdListType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::RegionType InputImageRegionType
typedef
TermContainerType::InputImageType 
InputImageType
typedef NumericTraits
< InputImagePixelType >
::RealType 
InputPixelRealType
typedef
TermContainerType::LevelSetContainerType 
LevelSetContainerType
typedef
LevelSetType::LevelSetDataType 
LevelSetDataType
typedef
LevelSetContainerType::LevelSetIdentifierType 
LevelSetIdentifierType
typedef LevelSetType::InputType LevelSetInputType
typedef
LevelSetType::OutputRealType 
LevelSetOutputRealType
typedef LevelSetType::OutputType LevelSetOutputType
typedef TLevelSet LevelSetType
typedef SmartPointer< SelfPointer
typedef LevelSetEvolutionBase Self
typedef
StoppingCriterionType::Pointer 
StoppingCriterionPointer
typedef
LevelSetEvolutionStoppingCriterionBase
< LevelSetContainerType
StoppingCriterionType
typedef Object Superclass
typedef TermContainerType::Pointer TermContainerPointer
typedef
EquationContainerType::TermContainerType 
TermContainerType
typedef TermType::Pointer TermPointer
typedef TermContainerType::TermType TermType

Public Member Functions

virtual LevelSetContainerTypeGetLevelSetContainer ()
virtual const char * GetNameOfClass () const
virtual void SetLevelSetContainer (LevelSetContainerType *_arg)
void SetTimeStep (const LevelSetOutputRealType &iDt)
void Update ()
virtual void SetAlpha (LevelSetOutputRealType _arg)
virtual LevelSetOutputRealType GetAlpha ()
virtual void SetEquationContainer (EquationContainerType *_arg)
virtual EquationContainerTypeGetEquationContainer ()
virtual StoppingCriterionTypeGetStoppingCriterion ()
virtual void SetStoppingCriterion (StoppingCriterionType *_arg)
virtual void SetNumberOfIterations (IdentifierType _arg)
virtual IdentifierType GetNumberOfIterations () const

Static Public Attributes

static const unsigned int ImageDimension = InputImageType::ImageDimension

Protected Member Functions

virtual void AllocateUpdateBuffer ()
void CheckSetUp ()
virtual void ComputeIteration ()
virtual void ComputeTimeStepForNextIteration ()
void Evolve ()
void InitializeIteration ()
 LevelSetEvolutionBase ()
virtual void UpdateEquations ()=0
virtual void UpdateLevelSets ()=0
virtual ~LevelSetEvolutionBase ()

Protected Attributes

LevelSetOutputRealType m_Alpha
LevelSetOutputRealType m_Dt
EquationContainerPointer m_EquationContainer
LevelSetContainerType::Pointer m_LevelSetContainer
LevelSetContainerType::Iterator m_LevelSetContainerIteratorToProcessWhenThreading
LevelSetContainerType::Iterator m_LevelSetUpdateContainerIteratorToProcessWhenThreading
IdentifierType m_NumberOfIterations
LevelSetOutputRealType m_RMSChangeAccumulator
StoppingCriterionPointer m_StoppingCriterion
bool m_UserGloballyDefinedTimeStep

Private Member Functions

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

Detailed Description

template<class TEquationContainer, class TLevelSet>
class itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >

Class for iterating and evolving the dense level-set function.

Template Parameters:
TEquationContainerContainer holding the system of level set of equations

Definition at line 43 of file itkLevelSetEvolutionBase.h.


Member Typedef Documentation

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::CacheImageType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::CacheImageType
template<class TEquationContainer, class TLevelSet>
typedef SmartPointer< const Self > itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ConstPointer
template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::DomainMapImageFilterType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::DomainMapImageFilterType
template<class TEquationContainer, class TLevelSet>
typedef EquationContainerType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::EquationContainerPointer
template<class TEquationContainer, class TLevelSet>
typedef TEquationContainer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::EquationContainerType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListConstIterator itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListConstIterator
template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListImageType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListImageType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListIterator itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListIterator
template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListType
template<class TEquationContainer, class TLevelSet>
typedef InputImageType::ConstPointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageConstPointer
template<class TEquationContainer, class TLevelSet>
typedef InputImageType::PixelType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImagePixelType
template<class TEquationContainer, class TLevelSet>
typedef InputImageType::RegionType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageRegionType
template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::InputImageType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageType
template<class TEquationContainer, class TLevelSet>
typedef NumericTraits< InputImagePixelType >::RealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputPixelRealType
template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::LevelSetContainerType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetContainerType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::LevelSetDataType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetDataType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::LevelSetIdentifierType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetIdentifierType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::InputType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetInputType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::OutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetOutputRealType
template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::OutputType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetOutputType
template<class TEquationContainer, class TLevelSet>
typedef TLevelSet itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetType
template<class TEquationContainer, class TLevelSet>
typedef SmartPointer< Self > itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Pointer
template<class TEquationContainer, class TLevelSet>
typedef LevelSetEvolutionBase itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Self
template<class TEquationContainer, class TLevelSet>
typedef StoppingCriterionType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::StoppingCriterionPointer
template<class TEquationContainer, class TLevelSet>
typedef LevelSetEvolutionStoppingCriterionBase< LevelSetContainerType > itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::StoppingCriterionType
template<class TEquationContainer, class TLevelSet>
typedef Object itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Superclass
template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermContainerPointer
template<class TEquationContainer, class TLevelSet>
typedef EquationContainerType::TermContainerType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermContainerType
template<class TEquationContainer, class TLevelSet>
typedef TermType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermPointer
template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::TermType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermType

Constructor & Destructor Documentation

template<class TEquationContainer, class TLevelSet>
itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetEvolutionBase ( ) [protected]
template<class TEquationContainer, class TLevelSet>
virtual itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::~LevelSetEvolutionBase ( ) [protected, virtual]
template<class TEquationContainer, class TLevelSet>
itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetEvolutionBase ( const Self ) [private]

Member Function Documentation

template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::AllocateUpdateBuffer ( ) [protected, virtual]

Initialize the update buffers for all level sets to hold the updates of equations in each iteration. No-op by default.

Reimplemented in itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImageBase< TImage > >, and itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >.

template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::CheckSetUp ( ) [protected]
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ComputeIteration ( ) [protected, virtual]
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ComputeTimeStepForNextIteration ( ) [protected, virtual]
template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Evolve ( ) [protected]

Run the iterative loops of calculating levelset function updates until the stopping criterion is satisfied. Calls AllocateUpdateBuffer, ComputeIteration, ComputeTimeStepForNextIteration, UpdateLevelSets, UpdateEquations.

template<class TEquationContainer, class TLevelSet>
virtual LevelSetOutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetAlpha ( ) [virtual]

Set/Get the value of alpha for computing the time-step using CFL conditions

template<class TEquationContainer, class TLevelSet>
virtual EquationContainerType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetEquationContainer ( ) [virtual]

Set/Get the equation container for updating all the level sets

template<class TEquationContainer, class TLevelSet>
virtual LevelSetContainerType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetLevelSetContainer ( ) [virtual]
template<class TEquationContainer, class TLevelSet>
virtual const char* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetNameOfClass ( ) const [virtual]
template<class TEquationContainer, class TLevelSet>
virtual IdentifierType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetNumberOfIterations ( ) const [virtual]

Set/Get the number of iterations that have occured.

template<class TEquationContainer, class TLevelSet>
virtual StoppingCriterionType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetStoppingCriterion ( ) [virtual]

Set/Get the Stopping Criterion

template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InitializeIteration ( ) [protected]

Initialize the iteration by computing parameters in the terms of the level set equation

template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::operator= ( const Self ) [private]
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetAlpha ( LevelSetOutputRealType  _arg) [virtual]

Set/Get the value of alpha for computing the time-step using CFL conditions

template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetEquationContainer ( EquationContainerType _arg) [virtual]

Set/Get the equation container for updating all the level sets

template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetLevelSetContainer ( LevelSetContainerType _arg) [virtual]
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetNumberOfIterations ( IdentifierType  _arg) [virtual]

Set/Get the number of iterations that have occured.

template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetStoppingCriterion ( StoppingCriterionType _arg) [virtual]

Set/Get the Stopping Criterion

template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::SetTimeStep ( const LevelSetOutputRealType iDt)

Set a user-specified value of the time-step

template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Update ( )

Update the filter by computing the output level function by calling Evolve() once the instantiation of necessary variables is verified

template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::UpdateEquations ( ) [protected, pure virtual]
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::UpdateLevelSets ( ) [protected, pure virtual]

Member Data Documentation

template<class TEquationContainer, class TLevelSet>
const unsigned int itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ImageDimension = InputImageType::ImageDimension [static]
template<class TEquationContainer, class TLevelSet>
LevelSetOutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_Alpha [protected]

Definition at line 161 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
LevelSetOutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_Dt [protected]

Definition at line 162 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
EquationContainerPointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_EquationContainer [protected]

Definition at line 158 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
LevelSetContainerType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_LevelSetContainer [protected]

Definition at line 159 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
LevelSetContainerType::Iterator itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_LevelSetContainerIteratorToProcessWhenThreading [protected]

Helper members for threading.

Definition at line 168 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
LevelSetContainerType::Iterator itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_LevelSetUpdateContainerIteratorToProcessWhenThreading [protected]

Definition at line 169 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
IdentifierType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_NumberOfIterations [protected]

Definition at line 165 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
LevelSetOutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_RMSChangeAccumulator [protected]

Definition at line 163 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
StoppingCriterionPointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_StoppingCriterion [protected]

Definition at line 156 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
bool itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_UserGloballyDefinedTimeStep [protected]

Definition at line 164 of file itkLevelSetEvolutionBase.h.


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