ITK  6.0.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Friends | List of all members
itk::LevelSetContainerBase< TIdentifier, TLevelSet > Class Template Reference

#include <itkLevelSetContainerBase.h>

Detailed Description

template<typename TIdentifier, typename TLevelSet>
class itk::LevelSetContainerBase< TIdentifier, TLevelSet >

Container of level set.

Encapsulate an ordered set of level set function (see LevelSet).

Template Parameters
TIdentifiertype of the identifier used to reference on level set function
TLevelSettype of level set function in the container.

Definition at line 42 of file itkLevelSetContainerBase.h.

+ Inheritance diagram for itk::LevelSetContainerBase< TIdentifier, TLevelSet >:
+ Collaboration diagram for itk::LevelSetContainerBase< TIdentifier, TLevelSet >:

Classes

class  ConstIterator
 
class  Iterator
 

Public Types

using CacheImageType = Image< short, Dimension >
 
using ConstPointer = SmartPointer< const Self >
 
using DomainContainerType = std::map< LevelSetIdentifierType, LevelSetDomainType >
 
using DomainIteratorType = typename DomainContainerType::iterator
 
using DomainMapImageFilterPointer = typename DomainMapImageFilterType::Pointer
 
using DomainMapImageFilterType = LevelSetDomainMapImageFilter< IdListImageType, CacheImageType >
 
using GradientType = typename LevelSetType::GradientType
 
using HeavisideConstPointer = typename HeavisideType::ConstPointer
 
using HeavisideType = HeavisideStepFunctionBase< OutputRealType, OutputRealType >
 
using HessianType = typename LevelSetType::HessianType
 
using IdListConstIterator = typename IdListType::const_iterator
 
using IdListImageType = Image< IdListType, Dimension >
 
using IdListIterator = typename IdListType::iterator
 
using IdListType = std::list< LevelSetIdentifierType >
 
using InputIndexType = typename LevelSetType::InputType
 
using LevelSetContainerConstIteratorType = typename LevelSetContainerType::const_iterator
 
using LevelSetContainerIteratorType = typename LevelSetContainerType::iterator
 
using LevelSetContainerType = std::map< LevelSetIdentifierType, LevelSetPointer >
 
using LevelSetDataType = typename LevelSetType::LevelSetDataType
 
using LevelSetDomainType = typename DomainMapImageFilterType::LevelSetDomain
 
using LevelSetIdentifierType = TIdentifier
 
using LevelSetPairType = std::pair< LevelSetIdentifierType, LevelSetPointer >
 
using LevelSetPointer = typename LevelSetType::Pointer
 
using LevelSetType = TLevelSet
 
using OutputRealType = typename LevelSetType::OutputRealType
 
using OutputType = typename LevelSetType::OutputType
 
using Pointer = SmartPointer< Self >
 
using Self = LevelSetContainerBase
 
using Superclass = Object
 
- 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

const char * GetNameOfClass () const override
 
bool HasDomainMap () const
 
Iterator Begin ()
 
Iterator End ()
 
ConstIterator Begin () const
 
ConstIterator End () const
 
LevelSetIdentifierType Size () const
 
LevelSetPointer GetLevelSet (const LevelSetIdentifierType &iId) const
 
bool AddLevelSet (const LevelSetIdentifierType &iId, LevelSetType *iLevelSet, const bool iForce=true)
 
bool RemoveLevelSet (const LevelSetIdentifierType &iId)
 
virtual void SetHeaviside (const HeavisideType *_arg)
 
virtual const HeavisideTypeGetHeaviside () const
 
virtual void SetDomainMapFilter (DomainMapImageFilterType *_arg)
 
virtual DomainMapImageFilterTypeGetModifiableDomainMapFilter ()
 
- 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
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
const char * GetNameOfClass () const override
 
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
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual const char * GetNameOfClass () const
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Attributes

static constexpr unsigned int Dimension = LevelSetType::Dimension
 

Protected Member Functions

const LevelSetContainerTypeGetContainer () const
 
 LevelSetContainerBase ()=default
 
void SetContainer (const LevelSetContainerType &iContainer)
 
 ~LevelSetContainerBase () 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 PrintSelf (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Attributes

LevelSetContainerType m_Container {}
 
DomainMapImageFilterPointer m_DomainMapFilter {}
 
HeavisideConstPointer m_Heaviside {}
 

Friends

class Iterator
 

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 val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ CacheImageType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::CacheImageType = Image<short, Dimension>

Definition at line 81 of file itkLevelSetContainerBase.h.

◆ ConstPointer

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::ConstPointer = SmartPointer<const Self>

Definition at line 49 of file itkLevelSetContainerBase.h.

◆ DomainContainerType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::DomainContainerType = std::map<LevelSetIdentifierType, LevelSetDomainType>

Definition at line 90 of file itkLevelSetContainerBase.h.

◆ DomainIteratorType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::DomainIteratorType = typename DomainContainerType::iterator

Definition at line 91 of file itkLevelSetContainerBase.h.

◆ DomainMapImageFilterPointer

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::DomainMapImageFilterPointer = typename DomainMapImageFilterType::Pointer

Definition at line 87 of file itkLevelSetContainerBase.h.

◆ DomainMapImageFilterType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::DomainMapImageFilterType = LevelSetDomainMapImageFilter<IdListImageType, CacheImageType>

Definition at line 83 of file itkLevelSetContainerBase.h.

◆ GradientType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::GradientType = typename LevelSetType::GradientType

Definition at line 61 of file itkLevelSetContainerBase.h.

◆ HeavisideConstPointer

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::HeavisideConstPointer = typename HeavisideType::ConstPointer

Definition at line 73 of file itkLevelSetContainerBase.h.

◆ HeavisideType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::HeavisideType = HeavisideStepFunctionBase<OutputRealType, OutputRealType>

Definition at line 72 of file itkLevelSetContainerBase.h.

◆ HessianType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::HessianType = typename LevelSetType::HessianType

Definition at line 62 of file itkLevelSetContainerBase.h.

◆ IdListConstIterator

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::IdListConstIterator = typename IdListType::const_iterator

Definition at line 79 of file itkLevelSetContainerBase.h.

◆ IdListImageType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::IdListImageType = Image<IdListType, Dimension>

Definition at line 80 of file itkLevelSetContainerBase.h.

◆ IdListIterator

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::IdListIterator = typename IdListType::iterator

Definition at line 78 of file itkLevelSetContainerBase.h.

◆ IdListType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::IdListType = std::list<LevelSetIdentifierType>

Definition at line 77 of file itkLevelSetContainerBase.h.

◆ InputIndexType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::InputIndexType = typename LevelSetType::InputType

Definition at line 58 of file itkLevelSetContainerBase.h.

◆ LevelSetContainerConstIteratorType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetContainerConstIteratorType = typename LevelSetContainerType::const_iterator

Definition at line 69 of file itkLevelSetContainerBase.h.

◆ LevelSetContainerIteratorType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetContainerIteratorType = typename LevelSetContainerType::iterator

Definition at line 70 of file itkLevelSetContainerBase.h.

◆ LevelSetContainerType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetContainerType = std::map<LevelSetIdentifierType, LevelSetPointer>

Definition at line 68 of file itkLevelSetContainerBase.h.

◆ LevelSetDataType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetDataType = typename LevelSetType::LevelSetDataType

Definition at line 63 of file itkLevelSetContainerBase.h.

◆ LevelSetDomainType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetDomainType = typename DomainMapImageFilterType::LevelSetDomain

Definition at line 88 of file itkLevelSetContainerBase.h.

◆ LevelSetIdentifierType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetIdentifierType = TIdentifier

IdentifierType

Definition at line 66 of file itkLevelSetContainerBase.h.

◆ LevelSetPairType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetPairType = std::pair<LevelSetIdentifierType, LevelSetPointer>

Definition at line 85 of file itkLevelSetContainerBase.h.

◆ LevelSetPointer

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetPointer = typename LevelSetType::Pointer

Definition at line 57 of file itkLevelSetContainerBase.h.

◆ LevelSetType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetType = TLevelSet

type alias related to the type of level set

Definition at line 56 of file itkLevelSetContainerBase.h.

◆ OutputRealType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::OutputRealType = typename LevelSetType::OutputRealType

Definition at line 60 of file itkLevelSetContainerBase.h.

◆ OutputType

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::OutputType = typename LevelSetType::OutputType

Definition at line 59 of file itkLevelSetContainerBase.h.

◆ Pointer

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Pointer = SmartPointer<Self>

Definition at line 48 of file itkLevelSetContainerBase.h.

◆ Self

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Self = LevelSetContainerBase

Definition at line 47 of file itkLevelSetContainerBase.h.

◆ Superclass

template<typename TIdentifier , typename TLevelSet >
using itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Superclass = Object

Definition at line 50 of file itkLevelSetContainerBase.h.

Constructor & Destructor Documentation

◆ LevelSetContainerBase()

template<typename TIdentifier , typename TLevelSet >
itk::LevelSetContainerBase< TIdentifier, TLevelSet >::LevelSetContainerBase ( )
protecteddefault

Default Constructor.

◆ ~LevelSetContainerBase()

template<typename TIdentifier , typename TLevelSet >
itk::LevelSetContainerBase< TIdentifier, TLevelSet >::~LevelSetContainerBase ( )
overrideprotecteddefault

Default Destructor.

Member Function Documentation

◆ AddLevelSet()

template<typename TIdentifier , typename TLevelSet >
bool itk::LevelSetContainerBase< TIdentifier, TLevelSet >::AddLevelSet ( const LevelSetIdentifierType iId,
LevelSetType iLevelSet,
const bool  iForce = true 
)

Add one level set function given its id.

Parameters
[in]iIdid of the level set function
[in]iLevelSetthe level set function to be added
[in]iForceif iForce is true (default) the level set function will be added to the container even if there is already one with the same id.
Returns
true if the level set has been added.

◆ Begin() [1/2]

template<typename TIdentifier , typename TLevelSet >
Iterator itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Begin ( )

Get the number of LevelSets in the container.

◆ Begin() [2/2]

template<typename TIdentifier , typename TLevelSet >
ConstIterator itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Begin ( ) const

Get the number of LevelSets in the container.

◆ End() [1/2]

template<typename TIdentifier , typename TLevelSet >
Iterator itk::LevelSetContainerBase< TIdentifier, TLevelSet >::End ( )

Get the number of LevelSets in the container.

◆ End() [2/2]

template<typename TIdentifier , typename TLevelSet >
ConstIterator itk::LevelSetContainerBase< TIdentifier, TLevelSet >::End ( ) const

Get the number of LevelSets in the container.

◆ GetContainer()

template<typename TIdentifier , typename TLevelSet >
const LevelSetContainerType & itk::LevelSetContainerBase< TIdentifier, TLevelSet >::GetContainer ( ) const
protected

◆ GetHeaviside()

template<typename TIdentifier , typename TLevelSet >
virtual const HeavisideType * itk::LevelSetContainerBase< TIdentifier, TLevelSet >::GetHeaviside ( ) const
virtual

Get the number of LevelSets in the container.

◆ GetLevelSet()

template<typename TIdentifier , typename TLevelSet >
LevelSetPointer itk::LevelSetContainerBase< TIdentifier, TLevelSet >::GetLevelSet ( const LevelSetIdentifierType iId) const

Get the level set function given its id.

Parameters
[in]iId
Returns
the level set function if it is in the container, else nullptr.

◆ GetModifiableDomainMapFilter()

template<typename TIdentifier , typename TLevelSet >
virtual DomainMapImageFilterType * itk::LevelSetContainerBase< TIdentifier, TLevelSet >::GetModifiableDomainMapFilter ( )
virtual

Set/Get the domain map image filter.

◆ GetNameOfClass()

template<typename TIdentifier , typename TLevelSet >
const char * itk::LevelSetContainerBase< TIdentifier, TLevelSet >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ HasDomainMap()

template<typename TIdentifier , typename TLevelSet >
bool itk::LevelSetContainerBase< TIdentifier, TLevelSet >::HasDomainMap ( ) const

Does the level set container have a domain map?

◆ RemoveLevelSet()

template<typename TIdentifier , typename TLevelSet >
bool itk::LevelSetContainerBase< TIdentifier, TLevelSet >::RemoveLevelSet ( const LevelSetIdentifierType iId)

Remove one level set function given its id.

Parameters
[in]iIdid of the level set function to be removed
Returns
true if it has been removed, false if the id was not present in the container.

◆ SetContainer()

template<typename TIdentifier , typename TLevelSet >
void itk::LevelSetContainerBase< TIdentifier, TLevelSet >::SetContainer ( const LevelSetContainerType iContainer)
protected

◆ SetDomainMapFilter()

template<typename TIdentifier , typename TLevelSet >
virtual void itk::LevelSetContainerBase< TIdentifier, TLevelSet >::SetDomainMapFilter ( DomainMapImageFilterType _arg)
virtual

Set/Get the domain map image filter.

◆ SetHeaviside()

template<typename TIdentifier , typename TLevelSet >
virtual void itk::LevelSetContainerBase< TIdentifier, TLevelSet >::SetHeaviside ( const HeavisideType _arg)
virtual
Todo:
add documentation

◆ Size()

template<typename TIdentifier , typename TLevelSet >
LevelSetIdentifierType itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Size ( ) const

Get the number of LevelSets in the container.

Friends And Related Function Documentation

◆ Iterator

template<typename TIdentifier , typename TLevelSet >
friend class Iterator
friend

Definition at line 95 of file itkLevelSetContainerBase.h.

Member Data Documentation

◆ Dimension

template<typename TIdentifier , typename TLevelSet >
constexpr unsigned int itk::LevelSetContainerBase< TIdentifier, TLevelSet >::Dimension = LevelSetType::Dimension
staticconstexpr

Definition at line 75 of file itkLevelSetContainerBase.h.

◆ m_Container

template<typename TIdentifier , typename TLevelSet >
LevelSetContainerType itk::LevelSetContainerBase< TIdentifier, TLevelSet >::m_Container {}
private

Definition at line 322 of file itkLevelSetContainerBase.h.

◆ m_DomainMapFilter

template<typename TIdentifier , typename TLevelSet >
DomainMapImageFilterPointer itk::LevelSetContainerBase< TIdentifier, TLevelSet >::m_DomainMapFilter {}
private

Definition at line 321 of file itkLevelSetContainerBase.h.

◆ m_Heaviside

template<typename TIdentifier , typename TLevelSet >
HeavisideConstPointer itk::LevelSetContainerBase< TIdentifier, TLevelSet >::m_Heaviside {}
private

Definition at line 320 of file itkLevelSetContainerBase.h.


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