19 #ifndef itkDiscreteLevelSetImage_h
20 #define itkDiscreteLevelSetImage_h
35 template <
typename TOutput,
unsigned int VDimension>
53 using typename Superclass::InputType;
54 using typename Superclass::OutputType;
55 using typename Superclass::OutputRealType;
56 using typename Superclass::GradientType;
57 using typename Superclass::HessianType;
58 using typename Superclass::LevelSetDataType;
62 Evaluate(
const InputType & inputIndex)
const override = 0;
66 EvaluateGradient(
const InputType & inputIndex)
const override;
70 EvaluateHessian(
const InputType & inputIndex)
const override;
74 EvaluateLaplacian(
const InputType & inputIndex)
const override;
78 EvaluateMeanCurvature(
const InputType & inputIndex)
const override;
81 EvaluateForwardGradient(
const InputType & inputIndex)
const;
84 EvaluateBackwardGradient(
const InputType & inputIndex)
const;
88 Evaluate(
const InputType & inputIndex, LevelSetDataType & data)
const override;
93 EvaluateGradient(
const InputType & inputIndex, LevelSetDataType & data)
const override;
98 EvaluateHessian(
const InputType & inputIndex, LevelSetDataType & data)
const override;
103 EvaluateMeanCurvature(
const InputType & inputIndex, LevelSetDataType & data)
const override;
108 EvaluateLaplacian(
const InputType & inputIndex, LevelSetDataType & data)
const override;
113 EvaluateForwardGradient(
const InputType & inputIndex, LevelSetDataType & data)
const override;
118 EvaluateBackwardGradient(
const InputType & inputIndex, LevelSetDataType & data)
const override;
127 Initialize()
override;
131 CopyInformation(
const DataObject * data)
override;
141 #ifndef ITK_MANUAL_INSTANTIATION
142 # include "itkDiscreteLevelSetImage.hxx"
145 #endif // itkDiscreteLevelSetImage_h