#include <itkLevelSetEquationContainer.h>
Class for holding a set of level set equations (PDEs).
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 \).
Definition at line 58 of file itkLevelSetEquationContainer.h.
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 |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = Object |
using | Superclass = 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 |
virtual::itk::LightObject::Pointer | CreateAnother () const |
Iterator | End () |
ConstIterator | End () const |
TermContainerType * | GetEquation (const LevelSetIdentifierType &iId) const |
virtual const LevelSetContainerType * | GetLevelSetContainer () const |
virtual LevelSetContainerType * | GetModifiableLevelSetContainer () |
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 InputImageType * | GetModifiableInput () |
virtual const InputImageType * | GetInput () const |
![]() | |
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 |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
const char * | GetNameOfClass () const override |
virtual const TimeStamp & | GetTimeStamp () 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 |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
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 bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
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 | |
![]() | |
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 | |
![]() | |
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 {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Friends | |
class | Iterator |
using itk::LevelSetEquationContainer< TTermContainer >::ConstPointer = SmartPointer<const Self> |
Definition at line 66 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::InputImagePointer = typename TermContainerType::InputImagePointer |
Definition at line 79 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::InputImageType = typename TermContainerType::InputImageType |
Definition at line 78 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::LevelSetContainerPointer = typename TermContainerType::LevelSetContainerPointer |
Definition at line 86 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::LevelSetContainerType = typename TermContainerType::LevelSetContainerType |
Definition at line 85 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::LevelSetIdentifierType = typename TermContainerType::LevelSetIdentifierType |
Definition at line 84 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::LevelSetInputIndexType = typename TermContainerType::LevelSetInputIndexType |
Definition at line 82 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::LevelSetOutputRealType = typename TermContainerType::LevelSetOutputRealType |
Definition at line 81 of file itkLevelSetEquationContainer.h.
|
protected |
Definition at line 126 of file itkLevelSetEquationContainer.h.
|
protected |
Definition at line 125 of file itkLevelSetEquationContainer.h.
|
protected |
Definition at line 124 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::Pointer = SmartPointer<Self> |
Definition at line 65 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::Self = LevelSetEquationContainer |
Definition at line 64 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::Superclass = Object |
Definition at line 67 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::TermContainerPointer = typename TermContainerType::Pointer |
Definition at line 76 of file itkLevelSetEquationContainer.h.
using itk::LevelSetEquationContainer< TTermContainer >::TermContainerType = TTermContainer |
Definition at line 75 of file itkLevelSetEquationContainer.h.
|
protecteddefault |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
void itk::LevelSetEquationContainer< TTermContainer >::AddEquation | ( | const LevelSetIdentifierType & | iId, |
TermContainerType * | iEquation ) |
Add a equation to the system of equations in the EquationContainer map
Iterator itk::LevelSetEquationContainer< TTermContainer >::Begin | ( | ) |
ConstIterator itk::LevelSetEquationContainer< TTermContainer >::Begin | ( | ) | const |
LevelSetOutputRealType itk::LevelSetEquationContainer< TTermContainer >::ComputeCFLContribution | ( | ) | const |
Returns the Courant-Friedrichs-Lewy (CFL) contribution for all the equations
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
Iterator itk::LevelSetEquationContainer< TTermContainer >::End | ( | ) |
ConstIterator itk::LevelSetEquationContainer< TTermContainer >::End | ( | ) | const |
TermContainerType * itk::LevelSetEquationContainer< TTermContainer >::GetEquation | ( | const LevelSetIdentifierType & | iId | ) | const |
Return a pointer to the equation of given id
|
virtual |
Set/Get the input speed or feature image
|
virtual |
|
virtual |
Set/Get the input speed or feature image
|
virtual |
|
overridevirtual |
Reimplemented from itk::LightObject.
References LevelSetEquationContainer().
void itk::LevelSetEquationContainer< TTermContainer >::InitializeParameters | ( | ) |
Initialize parameters in the terms of all the equations
|
static |
Method for creation through object factory
|
virtual |
Set/Get the input speed or feature image
|
virtual |
void itk::LevelSetEquationContainer< TTermContainer >::UpdateInternalEquationTerms | ( | ) |
Update the equation container recursively by calling update on individual equations
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
|
friend |
Definition at line 130 of file itkLevelSetEquationContainer.h.
|
protected |
Definition at line 310 of file itkLevelSetEquationContainer.h.
|
protected |
Definition at line 311 of file itkLevelSetEquationContainer.h.
|
protected |
Definition at line 309 of file itkLevelSetEquationContainer.h.