19#ifndef itkWhitakerSparseLevelSetImage_h
20#define itkWhitakerSparseLevelSetImage_h
40template <
typename TOutput,
unsigned int VDimension>
57 static constexpr unsigned int Dimension = VDimension;
59 using typename Superclass::InputType;
60 using typename Superclass::OutputType;
61 using typename Superclass::OutputRealType;
62 using typename Superclass::GradientType;
63 using typename Superclass::HessianType;
64 using typename Superclass::LevelSetDataType;
66 using typename Superclass::LayerIdType;
67 using typename Superclass::LabelObjectType;
68 using typename Superclass::LabelObjectPointer;
69 using typename Superclass::LabelObjectLengthType;
70 using typename Superclass::LabelObjectLineType;
72 using typename Superclass::LabelMapType;
73 using typename Superclass::LabelMapPointer;
74 using typename Superclass::LabelMapConstPointer;
77 using typename Superclass::LayerType;
78 using typename Superclass::LayerIterator;
79 using typename Superclass::LayerConstIterator;
81 using typename Superclass::LayerMapType;
82 using typename Superclass::LayerMapIterator;
83 using typename Superclass::LayerMapConstIterator;
86 using Superclass::Evaluate;
90#ifdef ITK_USE_CONCEPT_CHECKING
103 static inline LayerIdType
108 static inline LayerIdType
113 static inline LayerIdType
118 static inline LayerIdType
123 static inline LayerIdType
128 static inline LayerIdType
135 template <
typename TLabel>
143 for (
LayerIdType status = this->MinusThreeLayer(); status < this->PlusOneLayer(); ++status)
147 for (
SizeValueType i = 0; i < labelObject->GetNumberOfLines(); ++i)
149 object->AddLine(labelObject->GetLine(i));
170#ifndef ITK_MANUAL_INSTANTIATION
171# include "itkWhitakerSparseLevelSetImage.hxx"
Base class for all data objects in ITK.
The base class for the representation of a labeled binary object in an image.
Base class for the sparse representation of a level-set function on one Image.
typename LabelObjectType::Pointer LabelObjectPointer
Base class for most ITK classes.
Derived class for the sparse-field representation of level-set function.
void InitializeLayers() override
WhitakerSparseLevelSetImage()
static LayerIdType ZeroLayer()
LabelObject< TLabel, Dimension >::Pointer GetAsLabelObject()
static LayerIdType PlusThreeLayer()
void InitializeInternalLabelList() override
static LayerIdType PlusOneLayer()
OutputType Evaluate(const InputType &inputIndex) const override
static LayerIdType MinusTwoLayer()
~WhitakerSparseLevelSetImage() override=default
static LayerIdType PlusTwoLayer()
static LayerIdType MinusThreeLayer()
static LayerIdType MinusOneLayer()
#define itkConceptMacro(name, concept)
ImageBaseType::RegionType RegionType
constexpr unsigned int Dimension
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType