19#ifndef itkWhitakerSparseLevelSetImage_h
20#define itkWhitakerSparseLevelSetImage_h
40template <
typename TOutput,
unsigned int VDimension>
57 static constexpr unsigned int Dimension = VDimension;
64 using typename Superclass::LevelSetDataType;
97 static inline LayerIdType
102 static inline LayerIdType
107 static inline LayerIdType
112 static inline LayerIdType
117 static inline LayerIdType
122 static inline LayerIdType
129 template <
typename TLabel>
134 auto object = OutputLabelObjectType::New();
141 for (
SizeValueType i = 0; i < labelObject->GetNumberOfLines(); ++i)
143 object->AddLine(labelObject->GetLine(i));
164#ifndef ITK_MANUAL_INSTANTIATION
165# include "itkWhitakerSparseLevelSetImage.hxx"
OutputType Evaluate(const InputType &inputIndex) const override=0
The base class for the representation of a labeled binary object in an image.
SmartPointer< Self > Pointer
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
typename LabelObjectType::Pointer LabelObjectPointer
std::map< InputType, OutputType, Functor::LexicographicCompare > LayerType
LabelMap< LabelObjectType > LabelMapType
LabelMapPointer m_LabelMap
LabelObject< LayerIdType, VDimension > LabelObjectType
LevelSetSparseImage()=default
typename LayerType::iterator LayerIterator
typename LabelMapType::Pointer LabelMapPointer
typename LayerMapType::iterator LayerMapIterator
typename LayerMapType::const_iterator LayerMapConstIterator
typename LabelMapType::RegionType RegionType
typename LabelObjectType::LengthType LabelObjectLengthType
Implements transparent reference counting.
void InitializeLayers() override
WhitakerSparseLevelSetImage()
typename LabelObjectType::Pointer LabelObjectPointer
LevelSetSparseImage< TOutput, VDimension > Superclass
static constexpr unsigned int Dimension
WhitakerSparseLevelSetImage Self
SmartPointer< Self > Pointer
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
SmartPointer< const Self > ConstPointer
static LayerIdType PlusTwoLayer()
static LayerIdType MinusThreeLayer()
static LayerIdType MinusOneLayer()
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType