18 #ifndef itkBSplineControlPointImageFunction_h
19 #define itkBSplineControlPointImageFunction_h
32 #include "vnl/vnl_matrix.h"
33 #include "vnl/vnl_vector.h"
65 template <
typename TInputImage,
typename TCoordRep =
double>
67 :
public ImageFunction<TInputImage, typename TInputImage::PixelType, TCoordRep>
80 itkStaticConstMacro(
ImageDimension,
unsigned int, TInputImage::ImageDimension );
86 typedef typename InputImageType::PixelType
PixelType;
88 typedef typename InputImageType::IndexType
IndexType;
94 typedef typename InputImageType::SizeType
SizeType;
135 itkGetConstReferenceMacro( SplineOrder, ArrayType );
153 itkSetMacro( CloseDimension, ArrayType );
158 itkGetConstReferenceMacro( CloseDimension, ArrayType );
168 itkGetConstMacro( Spacing, SpacingType );
178 itkGetConstMacro( Origin, OriginType );
188 itkGetConstMacro( Size, SizeType );
248 const
PointType &, const
unsigned int ) const;
256 const
IndexType &, const
unsigned int ) const;
272 const PointType &, const
unsigned int ) const;
276 virtual ~BSplineControlPointImageFunction();
280 BSplineControlPointImageFunction( const
Self& );
281 void operator=( const Self& );
306 #ifndef ITK_MANUAL_INSTANTIATION
307 #include "itkBSplineControlPointImageFunction.hxx"
void SetSplineOrder(const unsigned int)
HessianComponentType EvaluateHessianAtContinuousIndex(const ContinuousIndexType &, const unsigned int) const
Light weight base class for most itk classes.
Point< TCoordRep, itkGetStaticConstMacro(ImageDimension) > PointType
virtual OutputType EvaluateAtContinuousIndex(const ContinuousIndexType &) const override
InputImageType::PixelType PixelType
Superclass::PointType PointType
virtual void SetInputImage(const InputImageType *) override
GradientType EvaluateGradientAtParametricPoint(const PointType &) const
Represent the size (bounds) of a n-dimensional image.
KernelOrder3Type::Pointer m_KernelOrder3
BSplineKernelFunction< 3 > KernelOrder3Type
TInputImage InputImageType
void PrintSelf(std::ostream &os, Indent indent) const override
A templated class holding a M x N size Matrix.
Superclass::ContinuousIndexType ContinuousIndexType
InputImageType::RegionType RegionType
GradientType EvaluateGradient(const PointType &) const
ArrayType m_CloseDimension
KernelOrder1Type::Pointer m_KernelOrder1
SmartPointer< Self > Pointer
KernelOrder2Type::Pointer m_KernelOrder2
BSplineKernelFunction< 0 > KernelOrder0Type
HessianComponentType EvaluateHessianAtParametricPoint(const PointType &, const unsigned int) const
RealImageType::Pointer RealImagePointer
BSpline kernel used for density estimation and nonparameteric regression.
InputImageType::RegionType InputImageRegionType
ArrayType m_NumberOfControlPoints
HessianComponentType EvaluateHessianAtIndex(const IndexType &, const unsigned int) const
InputImageType::SpacingType SpacingType
KernelType::Pointer m_Kernel[ImageDimension]
HessianComponentType EvaluateHessian(const PointType &, const unsigned int) const
Image< CoordRepType, ImageDimension > RealImageType
BSplineControlPointImageFunction Self
InputImageType::IndexType IndexType
static const unsigned int ImageDimension
BSpline kernel used for density estimation and nonparameteric regression.
Evaluate a B-spline object given a grid of control points.
SmartPointer< const Self > ConstPointer
ContinuousIndex< TCoordRep, itkGetStaticConstMacro(ImageDimension) > ContinuousIndexType
InputImageType::PointType OriginType
VariableSizeMatrix< CoordRepType > GradientType
ImageFunction< TInputImage, typename TInputImage::PixelType, TCoordRep > Superclass
TInputImage ControlPointLatticeType
FixedArray< unsigned, ImageDimension > ArrayType
virtual OutputType Evaluate(const PointType &) const override
Control indentation during Print() invocation.
InputImageType::SizeType SizeType
BSplineKernelFunction< 1 > KernelOrder1Type
OutputType EvaluateAtParametricPoint(const PointType &) const
RealImagePointer m_NeighborhoodWeightImage
GradientType EvaluateGradientAtContinuousIndex(const ContinuousIndexType &) const
virtual OutputType EvaluateAtIndex(const IndexType &) const override
Evaluates a function of an image at specified position.
KernelOrder0Type::Pointer m_KernelOrder0
Templated n-dimensional image class.
GradientType EvaluateGradientAtIndex(const IndexType &) const
VariableSizeMatrix< CoordRepType > HessianComponentType
BSplineKernelFunction< 2 > KernelOrder2Type
CoordRepType m_BSplineEpsilon
CoxDeBoorBSplineKernelFunction< 3 > KernelType