19 #ifndef itkMalcolmSparseLevelSetImage_h
20 #define itkMalcolmSparseLevelSetImage_h
40 template <
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;
76 using typename Superclass::LayerType;
77 using typename Superclass::LayerIterator;
78 using typename Superclass::LayerConstIterator;
80 using typename Superclass::LayerMapType;
81 using typename Superclass::LayerMapIterator;
82 using typename Superclass::LayerMapConstIterator;
85 using Superclass::Evaluate;
87 Evaluate(
const InputType & inputPixel)
const override;
91 EvaluateHessian(
const InputType & inputPixel)
const override;
95 EvaluateLaplacian(
const InputType & inputPixel)
const override;
99 EvaluateMeanCurvature(
const InputType & inputPixel)
const override;
102 EvaluateHessian(
const InputType & inputPixel, LevelSetDataType & data)
const override;
104 EvaluateLaplacian(
const InputType & inputPixel, LevelSetDataType & data)
const override;
106 EvaluateMeanCurvature(
const InputType & inputPixel, LevelSetDataType & data)
const override;
113 static inline LayerIdType
118 static inline LayerIdType
131 InitializeLayers()
override;
134 InitializeInternalLabelList()
override;
137 #ifndef ITK_MANUAL_INSTANTIATION
138 # include "itkMalcolmSparseLevelSetImage.hxx"
141 #endif // itkMalcolmSparseLevelSetImage_h