19#ifndef itkLevelSetSparseImage_h
20#define itkLevelSetSparseImage_h
41template <
typename TOutput,
unsigned int VDimension>
62 using typename Superclass::LevelSetDataType;
77 using LayerType = std::map<InputType, OutputType, Functor::LexicographicCompare>;
112 template <
typename TLabel>
145#ifndef ITK_MANUAL_INSTANTIATION
146# include "itkLevelSetSparseImage.hxx"
Base class for all data objects in ITK.
static constexpr unsigned int Dimension
DiscreteLevelSetImage()=default
ImageRegion< VImageDimension > RegionType
Templated n-dimensional image to store labeled objects.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The base class for the representation of a labeled binary object in an image.
LabelObjectLine< VImageDimension > LineType
SmartPointer< Self > Pointer
typename LineType::LengthType LengthType
typename NumericTraits< OutputType >::RealType OutputRealType
CovariantVector< OutputRealType, VDimension > GradientType
Index< VDimension > InputType
Matrix< OutputRealType, VDimension, VDimension > HessianType
typename LabelMapType::ConstPointer LabelMapConstPointer
typename LayerType::const_iterator LayerConstIterator
typename LabelObjectType::LineType LabelObjectLineType
std::map< LayerIdType, LayerType > LayerMapType
void CopyInformation(const DataObject *data) override
bool IsInsideDomain(const InputType &inputIndex) const override
virtual LayerIdType Status(const InputType &inputIndex) const
const LayerType & GetLayer(LayerIdType value) const
typename LabelObjectType::Pointer LabelObjectPointer
static constexpr unsigned int Dimension
SmartPointer< const Self > ConstPointer
~LevelSetSparseImage() override=default
virtual void SetLabelMap(LabelMapType *labelMap)
DiscreteLevelSetImage< TOutput, VDimension > Superclass
LayerIdListType m_InternalLabelList
void Graft(const DataObject *data) override
std::map< InputType, OutputType, Functor::LexicographicCompare > LayerType
LabelMap< LabelObjectType > LabelMapType
std::list< LayerIdType > LayerIdListType
LayerType & GetLayer(LayerIdType value)
LabelMapPointer m_LabelMap
virtual void InitializeInternalLabelList()=0
LabelObject< LayerIdType, VDimension > LabelObjectType
LevelSetSparseImage()=default
typename LayerType::iterator LayerIterator
typename LabelMapType::Pointer LabelMapPointer
typename LayerMapType::iterator LayerMapIterator
typename LayerMapType::const_iterator LayerMapConstIterator
virtual void InitializeLayers()=0
void SetLayer(LayerIdType value, const LayerType &layer)
LabelObject< TLabel, VDimension >::Pointer GetAsLabelObject()
void Initialize() override
typename LabelMapType::RegionType RegionType
typename LabelObjectType::LengthType LabelObjectLengthType
SmartPointer< Self > Pointer
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....