18 #ifndef itkBSplineControlPointImageFunction_h
19 #define itkBSplineControlPointImageFunction_h
57 template <
typename TInputImage,
typename TCoordRep =
double>
59 :
public ImageFunction<TInputImage, typename TInputImage::PixelType, TCoordRep>
76 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
82 using PixelType =
typename InputImageType::PixelType;
101 using typename Superclass::ContinuousIndexType;
123 SetSplineOrder(
const unsigned int);
135 itkGetConstReferenceMacro(SplineOrder,
ArrayType);
158 itkGetConstReferenceMacro(CloseDimension,
ArrayType);
189 itkSetMacro(BSplineEpsilon,
RealType);
190 itkGetConstMacro(BSplineEpsilon,
RealType);
198 EvaluateAtParametricPoint(
const PointType &)
const;
205 EvaluateAtIndex(
const IndexType &)
const override;
220 Evaluate(
const PointType &)
const override;
227 EvaluateGradientAtParametricPoint(
const PointType &)
const;
234 EvaluateGradientAtIndex(
const IndexType &)
const;
249 EvaluateGradient(
const PointType &)
const;
257 EvaluateHessianAtParametricPoint(
const PointType &,
const unsigned int)
const;
265 EvaluateHessianAtIndex(
const IndexType &,
const unsigned int)
const;
281 EvaluateHessian(
const PointType &,
const unsigned int)
const;
287 PrintSelf(std::ostream & os,
Indent indent)
const override;
312 #ifndef ITK_MANUAL_INSTANTIATION
313 # include "itkBSplineControlPointImageFunction.hxx"