ITK  6.0.0 Insight Toolkit
itk::LevelSetEquationContainer< TTermContainer > Class Template Reference

#include <itkLevelSetEquationContainer.h>

## Detailed Description

### template<typename TTermContainer> class itk::LevelSetEquationContainer< TTermContainer >

Class for holding a set of level set equations (PDEs).

Template Parameters
 TTermContainer Container holding the terms in a level set equation

Evolving level-set functions $$\left\{ \phi_j \right\}_{j=1}^{M}$$ can be expressed as follows:

\begin{eqnarray*} \frac{\partial \phi_1(p)}{\partial \tau} &=& \sum\limits_{i=1}^{N_1} \alpha_{i1} \cdot \omega_{i1}(p) \\ \frac{\partial \phi_2(p)}{\partial \tau} &=& \sum\limits_{i=1}^{N_2} \alpha_{i2} \cdot \omega_{i2}(p) \\ & \vdots & \\ \frac{\partial \phi_M(p)}{\partial \tau} &=& \sum\limits_{i=1}^{N_M} \alpha_{iM} \cdot \omega_{iM}(p) \end{eqnarray*}

where $$\omega_{iM}$$ is a term which could depend on any of the level-set functions $$\left\{ \phi_j \right\}_{j=1}^{M}$$ , the input image, and $$\alpha_{iM}$$ is a weight to balance the contribution of each term in the PDE.

Each equation of this system of equation (PDE) is referred as an equation in the level-set framework. Each equation $$equation_{j}$$ contributes to the evolution of the level-set function $$\phi_j$$.

LevelSetEquationTerm
Examples
SphinxExamples/src/Bridge/VtkGlue/VisualizeEvolvingDense2DLevelSetAsElevationMap/Code.cxx, and SphinxExamples/src/Bridge/VtkGlue/VisualizeEvolvingDense2DLevelSetZeroSet/Code.cxx.

Definition at line 58 of file itkLevelSetEquationContainer.h.

Inheritance diagram for itk::LevelSetEquationContainer< TTermContainer >:
Collaboration diagram for itk::LevelSetEquationContainer< TTermContainer >:

## Classes

class  ConstIterator

class  Iterator

## Public Types

using ConstPointer = SmartPointer< const Self >

using InputImagePointer = typename TermContainerType::InputImagePointer

using InputImageType = typename TermContainerType::InputImageType

using LevelSetContainerPointer = typename TermContainerType::LevelSetContainerPointer

using LevelSetContainerType = typename TermContainerType::LevelSetContainerType

using LevelSetIdentifierType = typename TermContainerType::LevelSetIdentifierType

using LevelSetInputIndexType = typename TermContainerType::LevelSetInputIndexType

using LevelSetOutputRealType = typename TermContainerType::LevelSetOutputRealType

using Pointer = SmartPointer< Self >

using Self = LevelSetEquationContainer

using Superclass = Object

using TermContainerPointer = typename TermContainerType::Pointer

using TermContainerType = TTermContainer

Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >

using Pointer = SmartPointer< Self >

using Self = Object

using Superclass = LightObject

Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >

using Pointer = SmartPointer< Self >

using Self = LightObject

## Public Member Functions

void AddEquation (const LevelSetIdentifierType &iId, TermContainerType *iEquation)

Iterator Begin ()

ConstIterator Begin () const

LevelSetOutputRealType ComputeCFLContribution () const

Iterator End ()

ConstIterator End () const

TermContainerTypeGetEquation (const LevelSetIdentifierType &iId) const

virtual LevelSetContainerTypeGetModifiableLevelSetContainer ()

const char * GetNameOfClass () const override

void InitializeParameters ()

virtual void SetLevelSetContainer (LevelSetContainerType *_arg)

void UpdateInternalEquationTerms ()

void UpdatePixel (const LevelSetInputIndexType &iP, const LevelSetOutputRealType &oldValue, const LevelSetOutputRealType &newValue)

virtual void SetInput (InputImageType *_arg)

virtual InputImageTypeGetModifiableInput ()

Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const

unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const

LightObject::Pointer CreateAnother () const override

virtual void DebugOff () const

virtual void DebugOn () const

CommandGetCommand (unsigned long tag)

bool GetDebug () 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

void Register () const override

void RemoveAllObservers ()

void RemoveObserver (unsigned long tag) const

void SetDebug (bool debugFlag) const

void SetReferenceCount (int) override

void UnRegister () const noexcept override

virtual void SetObjectName (std::string _arg)

virtual const std::string & GetObjectName () const

Public Member Functions inherited from itk::LightObject
Pointer Clone () const

virtual void Delete ()

virtual int GetReferenceCount () const

void Print (std::ostream &os, Indent indent=0) const

## Static Public Member Functions

static Pointer New ()

Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()

static void GlobalWarningDisplayOff ()

static void GlobalWarningDisplayOn ()

static Pointer New ()

static void SetGlobalWarningDisplay (bool val)

Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()

static Pointer New ()

## Protected Types

using MapContainerConstIterator = typename MapContainerType::const_iterator

using MapContainerIterator = typename MapContainerType::iterator

using MapContainerType = std::map< LevelSetIdentifierType, TermContainerPointer >

## Protected Member Functions

LevelSetEquationContainer ()=default

~LevelSetEquationContainer () override=default

Protected Member Functions inherited from itk::Object
Object ()

bool PrintObservers (std::ostream &os, Indent indent) const

void PrintSelf (std::ostream &os, Indent indent) const override

virtual void SetTimeStamp (const TimeStamp &timeStamp)

~Object () override

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

MapContainerType m_Container {}

InputImagePointer m_Input {}

LevelSetContainerPointer m_LevelSetContainer {}

Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}

class Iterator

## ◆ ConstPointer

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::ConstPointer = SmartPointer

Definition at line 66 of file itkLevelSetEquationContainer.h.

## ◆ InputImagePointer

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::InputImagePointer = typename TermContainerType::InputImagePointer

Definition at line 79 of file itkLevelSetEquationContainer.h.

## ◆ InputImageType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::InputImageType = typename TermContainerType::InputImageType

Definition at line 78 of file itkLevelSetEquationContainer.h.

## ◆ LevelSetContainerPointer

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::LevelSetContainerPointer = typename TermContainerType::LevelSetContainerPointer

Definition at line 86 of file itkLevelSetEquationContainer.h.

## ◆ LevelSetContainerType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::LevelSetContainerType = typename TermContainerType::LevelSetContainerType

Definition at line 85 of file itkLevelSetEquationContainer.h.

## ◆ LevelSetIdentifierType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::LevelSetIdentifierType = typename TermContainerType::LevelSetIdentifierType

Definition at line 84 of file itkLevelSetEquationContainer.h.

## ◆ LevelSetInputIndexType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::LevelSetInputIndexType = typename TermContainerType::LevelSetInputIndexType

Definition at line 82 of file itkLevelSetEquationContainer.h.

## ◆ LevelSetOutputRealType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::LevelSetOutputRealType = typename TermContainerType::LevelSetOutputRealType

Definition at line 81 of file itkLevelSetEquationContainer.h.

## ◆ MapContainerConstIterator

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::MapContainerConstIterator = typename MapContainerType::const_iterator
protected

Definition at line 126 of file itkLevelSetEquationContainer.h.

## ◆ MapContainerIterator

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::MapContainerIterator = typename MapContainerType::iterator
protected

Definition at line 125 of file itkLevelSetEquationContainer.h.

## ◆ MapContainerType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::MapContainerType = std::map
protected

Definition at line 124 of file itkLevelSetEquationContainer.h.

## ◆ Pointer

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::Pointer = SmartPointer

Definition at line 65 of file itkLevelSetEquationContainer.h.

## ◆ Self

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::Self = LevelSetEquationContainer

Definition at line 64 of file itkLevelSetEquationContainer.h.

## ◆ Superclass

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::Superclass = Object

Definition at line 67 of file itkLevelSetEquationContainer.h.

## ◆ TermContainerPointer

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::TermContainerPointer = typename TermContainerType::Pointer

Definition at line 76 of file itkLevelSetEquationContainer.h.

## ◆ TermContainerType

template<typename TTermContainer >
 using itk::LevelSetEquationContainer< TTermContainer >::TermContainerType = TTermContainer

Definition at line 75 of file itkLevelSetEquationContainer.h.

## ◆ LevelSetEquationContainer()

template<typename TTermContainer >
 itk::LevelSetEquationContainer< TTermContainer >::LevelSetEquationContainer ( )
protecteddefault

## ◆ ~LevelSetEquationContainer()

template<typename TTermContainer >
 itk::LevelSetEquationContainer< TTermContainer >::~LevelSetEquationContainer ( )
overrideprotecteddefault

## Member Function Documentation

template<typename TTermContainer >
 void itk::LevelSetEquationContainer< TTermContainer >::AddEquation ( const LevelSetIdentifierType & iId, TermContainerType * iEquation )

Add a equation to the system of equations in the EquationContainer map

## ◆ Begin() [1/2]

template<typename TTermContainer >
 Iterator itk::LevelSetEquationContainer< TTermContainer >::Begin ( )

## ◆ Begin() [2/2]

template<typename TTermContainer >
 ConstIterator itk::LevelSetEquationContainer< TTermContainer >::Begin ( ) const

## ◆ ComputeCFLContribution()

template<typename TTermContainer >
 LevelSetOutputRealType itk::LevelSetEquationContainer< TTermContainer >::ComputeCFLContribution ( ) const

Returns the Courant-Friedrichs-Lewy (CFL) contribution for all the equations

## ◆ End() [1/2]

template<typename TTermContainer >
 Iterator itk::LevelSetEquationContainer< TTermContainer >::End ( )

## ◆ End() [2/2]

template<typename TTermContainer >
 ConstIterator itk::LevelSetEquationContainer< TTermContainer >::End ( ) const

## ◆ GetEquation()

template<typename TTermContainer >
 TermContainerType* itk::LevelSetEquationContainer< TTermContainer >::GetEquation ( const LevelSetIdentifierType & iId ) const

Return a pointer to the equation of given id

## ◆ GetModifiableInput()

template<typename TTermContainer >
 virtual InputImageType* itk::LevelSetEquationContainer< TTermContainer >::GetModifiableInput ( )
virtual

Set/Get the input speed or feature image

## ◆ GetModifiableLevelSetContainer()

template<typename TTermContainer >
 virtual LevelSetContainerType* itk::LevelSetEquationContainer< TTermContainer >::GetModifiableLevelSetContainer ( )
virtual

## ◆ GetNameOfClass()

template<typename TTermContainer >
 const char* itk::LevelSetEquationContainer< TTermContainer >::GetNameOfClass ( ) const
overridevirtual
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

## ◆ InitializeParameters()

template<typename TTermContainer >
 void itk::LevelSetEquationContainer< TTermContainer >::InitializeParameters ( )

Initialize parameters in the terms of all the equations

## ◆ New()

template<typename TTermContainer >
 static Pointer itk::LevelSetEquationContainer< TTermContainer >::New ( )
static

Method for creation through object factory

## ◆ SetInput()

template<typename TTermContainer >
 virtual void itk::LevelSetEquationContainer< TTermContainer >::SetInput ( InputImageType * _arg )
virtual

Set/Get the input speed or feature image

## ◆ SetLevelSetContainer()

template<typename TTermContainer >
 virtual void itk::LevelSetEquationContainer< TTermContainer >::SetLevelSetContainer ( LevelSetContainerType * _arg )
virtual

## ◆ UpdateInternalEquationTerms()

template<typename TTermContainer >
 void itk::LevelSetEquationContainer< TTermContainer >::UpdateInternalEquationTerms ( )

Update the equation container recursively by calling update on individual equations

## ◆ UpdatePixel()

template<typename TTermContainer >
 void itk::LevelSetEquationContainer< TTermContainer >::UpdatePixel ( const LevelSetInputIndexType & iP, const LevelSetOutputRealType & oldValue, const LevelSetOutputRealType & newValue )

Supply the update at a given pixel index to update the terms

## ◆ Iterator

template<typename TTermContainer >
 friend class Iterator
friend

Definition at line 129 of file itkLevelSetEquationContainer.h.

## ◆ m_Container

template<typename TTermContainer >
 MapContainerType itk::LevelSetEquationContainer< TTermContainer >::m_Container {}
protected

Definition at line 294 of file itkLevelSetEquationContainer.h.

## ◆ m_Input

template<typename TTermContainer >
 InputImagePointer itk::LevelSetEquationContainer< TTermContainer >::m_Input {}
protected

Definition at line 295 of file itkLevelSetEquationContainer.h.

## ◆ m_LevelSetContainer

template<typename TTermContainer >
 LevelSetContainerPointer itk::LevelSetEquationContainer< TTermContainer >::m_LevelSetContainer {}
protected

Definition at line 293 of file itkLevelSetEquationContainer.h.

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