18 #ifndef itkBSplineControlPointImageFunction_h
19 #define itkBSplineControlPointImageFunction_h
57 template <
typename TInputImage,
typename TCoordinate =
double>
59 :
public ImageFunction<TInputImage, typename TInputImage::PixelType, TCoordinate>
76 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
82 #ifndef ITK_FUTURE_LEGACY_REMOVE
83 using CoordRepType ITK_FUTURE_DEPRECATED(
84 "ITK 6 discourages using `CoordRepType`. Please use `CoordinateType` instead!") =
CoordinateType;
86 using PixelType =
typename InputImageType::PixelType;
105 using typename Superclass::ContinuousIndexType;
127 SetSplineOrder(
const unsigned int);
139 itkGetConstReferenceMacro(SplineOrder,
ArrayType);
162 itkGetConstReferenceMacro(CloseDimension,
ArrayType);
193 itkSetMacro(BSplineEpsilon,
RealType);
194 itkGetConstMacro(BSplineEpsilon,
RealType);
202 EvaluateAtParametricPoint(
const PointType &)
const;
209 EvaluateAtIndex(
const IndexType &)
const override;
224 Evaluate(
const PointType &)
const override;
231 EvaluateGradientAtParametricPoint(
const PointType &)
const;
238 EvaluateGradientAtIndex(
const IndexType &)
const;
253 EvaluateGradient(
const PointType &)
const;
261 EvaluateHessianAtParametricPoint(
const PointType &,
const unsigned int)
const;
269 EvaluateHessianAtIndex(
const IndexType &,
const unsigned int)
const;
285 EvaluateHessian(
const PointType &,
const unsigned int)
const;
291 PrintSelf(std::ostream & os,
Indent indent)
const override;
316 #ifndef ITK_MANUAL_INSTANTIATION
317 # include "itkBSplineControlPointImageFunction.hxx"