18 #ifndef __otbBSplineInterpolateImageFunction_h
19 #define __otbBSplineInterpolateImageFunction_h
25 #include "vnl/vnl_matrix.h"
45 class TCoordRep = double,
46 class TCoefficientType =
double>
70 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
90 itkGetStaticConstMacro(ImageDimension)
111 itkGetStaticConstMacro(ImageDimension)
117 this->GetInputImage()->TransformPhysicalPointToContinuousIndex(point, index);
118 return (this->EvaluateDerivativeAtContinuousIndex(index));
121 CovariantVectorType EvaluateDerivativeAtContinuousIndex(
122 const ContinuousIndexType& x)
const;
126 void SetSplineOrder(
unsigned int SplineOrder);
127 itkGetMacro(SplineOrder,
int);
130 virtual void SetInputImage(
const TImageType * inputData);
134 virtual void UpdateCoefficientsFilter(
void);
139 void operator =(
const Self&);
140 void PrintSelf(std::ostream& os,
itk::Indent indent)
const;
153 const vnl_matrix<long>& EvaluateIndex,
154 vnl_matrix<double>& weights,
155 unsigned int splineOrder)
const;
159 const vnl_matrix<long>& EvaluateIndex,
160 vnl_matrix<double>& weights,
161 unsigned int splineOrder)
const;
165 void GeneratePointsToIndex();
168 void DetermineRegionOfSupport(vnl_matrix<long>& evaluateIndex,
170 unsigned int splineOrder)
const;
174 void ApplyMirrorBoundaryConditions(vnl_matrix<long>& evaluateIndex,
175 unsigned int splineOrder)
const;
189 #ifndef OTB_MANUAL_INSTANTIATION