ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet > Class Template Referenceabstract

#include <itkLevelSetEvolutionBase.h>

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

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.

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
LevelSetEvolutionStoppingCriterion
< LevelSetContainerType
StoppingCriterionType
 
typedef Object Superclass
 
typedef TermContainerType::Pointer TermContainerPointer
 
typedef
EquationContainerType::TermContainerType 
TermContainerType
 
typedef TermType::Pointer TermPointer
 
typedef TermContainerType::TermType TermType
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual const
LevelSetContainerType
GetLevelSetContainer () const
 
virtual LevelSetContainerTypeGetModifiableLevelSetContainer ()
 
virtual const char * GetNameOfClass () const
 
virtual IdentifierType GetNumberOfIterations () 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 EquationContainerTypeGetModifiableEquationContainer ()
 
virtual const
EquationContainerType
GetEquationContainer () const
 
virtual void SetStoppingCriterion (StoppingCriterionType *_arg)
 
virtual StoppingCriterionTypeGetModifiableStoppingCriterion ()
 
virtual const
StoppingCriterionType
GetStoppingCriterion () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual LightObject::Pointer CreateAnother () const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary (void)
 
const MetaDataDictionaryGetMetaDataDictionary (void) const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) 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 Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

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 &)
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 

Member Typedef Documentation

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::CacheImageType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::CacheImageType

Definition at line 86 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef SmartPointer< const Self > itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ConstPointer

Definition at line 48 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::DomainMapImageFilterType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::DomainMapImageFilterType

Definition at line 88 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef EquationContainerType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::EquationContainerPointer

Definition at line 55 of file itkLevelSetEvolutionBase.h.

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

Definition at line 52 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListConstIterator itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListConstIterator

Definition at line 84 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListImageType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListImageType

Definition at line 85 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListIterator itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListIterator

Definition at line 83 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::IdListType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::IdListType

Definition at line 82 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef InputImageType::ConstPointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageConstPointer

Definition at line 65 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef InputImageType::PixelType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImagePixelType

Definition at line 64 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef InputImageType::RegionType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageRegionType

Definition at line 66 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::InputImageType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputImageType

Definition at line 63 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef NumericTraits< InputImagePixelType >::RealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::InputPixelRealType

Definition at line 68 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::LevelSetContainerType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetContainerType

Definition at line 72 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::LevelSetDataType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetDataType

Definition at line 80 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetContainerType::LevelSetIdentifierType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetIdentifierType

Definition at line 74 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::InputType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetInputType

Definition at line 77 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::OutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetOutputRealType

Definition at line 79 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetType::OutputType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::LevelSetOutputType

Definition at line 78 of file itkLevelSetEvolutionBase.h.

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

Definition at line 76 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef SmartPointer< Self > itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Pointer

Definition at line 47 of file itkLevelSetEvolutionBase.h.

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

Definition at line 46 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef StoppingCriterionType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::StoppingCriterionPointer

Definition at line 92 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef LevelSetEvolutionStoppingCriterion< LevelSetContainerType > itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::StoppingCriterionType

Definition at line 91 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef Object itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::Superclass

Definition at line 49 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermContainerPointer

Definition at line 58 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef EquationContainerType::TermContainerType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermContainerType

Definition at line 57 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef TermType::Pointer itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermPointer

Definition at line 61 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
typedef TermContainerType::TermType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::TermType

Definition at line 60 of file itkLevelSetEvolutionBase.h.

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 ( )
protectedvirtual
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 ( )
protectedvirtual

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, WhitakerSparseLevelSetImage< TOutput, VDimension > >, and itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >.

template<class TEquationContainer, class TLevelSet>
void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::CheckSetUp ( )
protected
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ComputeIteration ( )
protectedvirtual
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ComputeTimeStepForNextIteration ( )
protectedvirtual
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 const EquationContainerType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetEquationContainer ( ) const
virtual

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

template<class TEquationContainer, class TLevelSet>
virtual const LevelSetContainerType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetLevelSetContainer ( ) const
virtual
template<class TEquationContainer, class TLevelSet>
virtual EquationContainerType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetModifiableEquationContainer ( )
virtual

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

template<class TEquationContainer, class TLevelSet>
virtual LevelSetContainerType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetModifiableLevelSetContainer ( )
virtual
template<class TEquationContainer, class TLevelSet>
virtual StoppingCriterionType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetModifiableStoppingCriterion ( )
virtual

Set/Get the Stopping Criterion

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

Get the number of iterations that have occurred.

template<class TEquationContainer, class TLevelSet>
virtual const StoppingCriterionType* itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::GetStoppingCriterion ( ) const
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 >::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 ( )
protectedpure virtual
template<class TEquationContainer, class TLevelSet>
virtual void itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::UpdateLevelSets ( )
protectedpure virtual

Member Data Documentation

template<class TEquationContainer, class TLevelSet>
const unsigned int itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::ImageDimension = InputImageType::ImageDimension
static

Definition at line 70 of file itkLevelSetEvolutionBase.h.

template<class TEquationContainer, class TLevelSet>
LevelSetOutputRealType itk::LevelSetEvolutionBase< TEquationContainer, TLevelSet >::m_Alpha
protected

Definition at line 159 of file itkLevelSetEvolutionBase.h.

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

Definition at line 160 of file itkLevelSetEvolutionBase.h.

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

Definition at line 156 of file itkLevelSetEvolutionBase.h.

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

Definition at line 157 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 166 of file itkLevelSetEvolutionBase.h.

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

Definition at line 167 of file itkLevelSetEvolutionBase.h.

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

Definition at line 163 of file itkLevelSetEvolutionBase.h.

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

Definition at line 161 of file itkLevelSetEvolutionBase.h.

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

Definition at line 154 of file itkLevelSetEvolutionBase.h.

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

Definition at line 162 of file itkLevelSetEvolutionBase.h.


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