19#ifndef itkLevelSetSparseImage_h
20#define itkLevelSetSparseImage_h
41template <
typename TOutput,
unsigned int VDimension>
57 using typename Superclass::InputType;
58 using typename Superclass::OutputType;
59 using typename Superclass::OutputRealType;
60 using typename Superclass::GradientType;
61 using typename Superclass::HessianType;
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.
Abstract class for a level-set function on one Image.
Templated n-dimensional image to store labeled objects.
The base class for the representation of a labeled binary object in an image.
typename LineType::LengthType LengthType
Base class for the sparse representation of a level-set function on one Image.
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
~LevelSetSparseImage() override=default
virtual void SetLabelMap(LabelMapType *labelMap)
void Graft(const DataObject *data) override
std::map< InputType, OutputType, Functor::LexicographicCompare > LayerType
std::list< LayerIdType > LayerIdListType
LayerType & GetLayer(LayerIdType value)
virtual void InitializeInternalLabelList()=0
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
Base class for most ITK classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
constexpr unsigned int Dimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....