19 #ifndef itkShiSparseLevelSetImage_h
20 #define itkShiSparseLevelSetImage_h
36 template <
unsigned int VDimension>
53 static constexpr
unsigned int Dimension = VDimension;
55 using typename Superclass::InputType;
56 using typename Superclass::OutputType;
57 using typename Superclass::OutputRealType;
58 using typename Superclass::GradientType;
59 using typename Superclass::HessianType;
60 using typename Superclass::LevelSetDataType;
62 using typename Superclass::LayerIdType;
63 using typename Superclass::LabelObjectType;
64 using typename Superclass::LabelObjectPointer;
65 using typename Superclass::LabelObjectLengthType;
66 using typename Superclass::LabelObjectLineType;
68 using typename Superclass::LabelMapType;
69 using typename Superclass::LabelMapPointer;
72 using typename Superclass::LayerType;
73 using typename Superclass::LayerIterator;
74 using typename Superclass::LayerConstIterator;
76 using typename Superclass::LayerMapType;
77 using typename Superclass::LayerMapIterator;
78 using typename Superclass::LayerMapConstIterator;
81 using Superclass::Evaluate;
83 Evaluate(
const InputType & inputIndex)
const override;
87 EvaluateHessian(
const InputType & inputIndex)
const override;
91 EvaluateLaplacian(
const InputType & inputIndex)
const override;
95 EvaluateMeanCurvature(
const InputType & inputIndex)
const override;
98 EvaluateHessian(
const InputType & inputIndex, LevelSetDataType & data)
const override;
100 EvaluateLaplacian(
const InputType & inputIndex, LevelSetDataType & data)
const override;
102 EvaluateMeanCurvature(
const InputType & inputIndex, LevelSetDataType & data)
const override;
104 static inline LayerIdType
109 static inline LayerIdType
114 static inline LayerIdType
119 static inline LayerIdType
132 InitializeLayers()
override;
135 InitializeInternalLabelList()
override;
141 #ifndef ITK_MANUAL_INSTANTIATION
142 # include "itkShiSparseLevelSetImage.hxx"
145 #endif // itkShiSparseLevelSetImage_h