19#ifndef itkLevelSetContainerBase_h
20#define itkLevelSetContainerBase_h
41template <
typename TIdentifier,
typename TLevelSet>
75 static constexpr unsigned int Dimension = LevelSetType::Dimension;
95 friend class Iterator;
342#ifndef ITK_MANUAL_INSTANTIATION
343# include "itkLevelSetContainerBase.hxx"
Base class of the Heaviside function.
SmartPointer< const Self > ConstPointer
Templated n-dimensional image class.
ConstIterator & operator++()
ConstIterator(const LevelSetContainerConstIteratorType &it)
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Iterator)
bool operator==(const ConstIterator &it) const
LevelSetType * GetLevelSet() const
LevelSetIdentifierType GetIdentifier() const
bool operator==(const Iterator &it) const
ConstIterator(const Iterator &it)
ConstIterator & operator--()
ConstIterator operator++(int)
ConstIterator * operator->()
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(ConstIterator)
LevelSetContainerConstIteratorType m_Iterator
ConstIterator & operator*()
ConstIterator operator--(int)
bool operator==(const Iterator &it) const
friend class ConstIterator
Iterator(const ConstIterator &it)
Iterator(const LevelSetContainerIteratorType &it)
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(ConstIterator)
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Iterator)
bool operator==(const ConstIterator &it) const
LevelSetContainerIteratorType m_Iterator
LevelSetType * GetLevelSet() const
LevelSetIdentifierType GetIdentifier() const
typename LevelSetType::OutputType OutputType
LevelSetPointer GetLevelSet(const LevelSetIdentifierType &iId) const
Get the level set function given its id.
LevelSetContainerBase Self
typename LevelSetType::InputType InputIndexType
typename DomainMapImageFilterType::LevelSetDomain LevelSetDomainType
typename LevelSetType::OutputRealType OutputRealType
bool HasDomainMap() const
void SetContainer(const LevelSetContainerType &iContainer)
LevelSetType LevelSetType
SmartPointer< Self > Pointer
typename LevelSetType::HessianType HessianType
typename IdListType::iterator IdListIterator
LevelSetContainerBase()=default
Default Constructor.
static constexpr unsigned int Dimension
typename LevelSetContainerType::const_iterator LevelSetContainerConstIteratorType
HeavisideStepFunctionBase< OutputRealType, OutputRealType > HeavisideType
HeavisideConstPointer m_Heaviside
std::map< LevelSetIdentifierType, LevelSetPointer > LevelSetContainerType
typename LevelSetType::LevelSetDataType LevelSetDataType
SmartPointer< const Self > ConstPointer
LevelSetIdentifierType Size() const
bool AddLevelSet(const LevelSetIdentifierType &iId, LevelSetType *iLevelSet, const bool iForce=true)
Add one level set function given its id.
bool RemoveLevelSet(const LevelSetIdentifierType &iId)
Remove one level set function given its id.
std::map< LevelSetIdentifierType, LevelSetDomainType > DomainContainerType
typename IdListType::const_iterator IdListConstIterator
typename DomainContainerType::iterator DomainIteratorType
typename LevelSetType::Pointer LevelSetPointer
LevelSetContainerType m_Container
TIdentifier LevelSetIdentifierType
DomainMapImageFilterPointer m_DomainMapFilter
const LevelSetContainerType & GetContainer() const
std::pair< LevelSetIdentifierType, LevelSetPointer > LevelSetPairType
Image< short, Dimension > CacheImageType
Image< IdListType, Dimension > IdListImageType
typename DomainMapImageFilterType::Pointer DomainMapImageFilterPointer
typename LevelSetContainerType::iterator LevelSetContainerIteratorType
LevelSetDomainMapImageFilter< IdListImageType, CacheImageType > DomainMapImageFilterType
typename HeavisideType::ConstPointer HeavisideConstPointer
ConstIterator Begin() const
~LevelSetContainerBase() override=default
Default Destructor.
typename LevelSetType::GradientType GradientType
ConstIterator End() const
typename LevelSetContainerType::const_iterator LevelSetContainerConstIteratorType
std::map< LevelSetIdentifierType, LevelSetPointer > LevelSetContainerType
std::list< LevelSetIdentifierType > IdListType
TIdentifier LevelSetIdentifierType
SmartPointer< Self > Pointer
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....