21 #ifndef otbBSplineDecompositionImageFilter_h
22 #define otbBSplineDecompositionImageFilter_h
26 #include "itkImageLinearIteratorWithIndex.h"
27 #include "vnl/vnl_matrix.h"
29 #include "itkImageToImageFilter.h"
42 template <
class TInputImage,
class TOutputImage>
48 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
65 itkStaticConstMacro(ImageDimension,
unsigned int, TInputImage::ImageDimension);
66 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
74 void SetSplineOrder(
unsigned int SplineOrder);
75 itkGetMacro(SplineOrder,
int);
83 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
85 void GenerateData()
override;
91 double m_SplinePoles[3];
98 void operator=(
const Self&) =
delete;
101 virtual void SetPoles();
104 virtual bool DataToCoefficients1D();
108 void DataToCoefficientsND();
111 virtual void SetInitialCausalCoefficient(
double z);
114 virtual void SetInitialAntiCausalCoefficient(
double z);
117 void CopyImageToImage();
128 #ifndef OTB_MANUAL_INSTANTIATION