28 #ifndef itkBSplineDecompositionImageFilter_h
29 #define itkBSplineDecompositionImageFilter_h
34 #include "vnl/vnl_matrix.h"
73 template <
typename TInputImage,
typename TOutputImage>
92 using typename Superclass::InputImageType;
93 using typename Superclass::InputImagePointer;
94 using typename Superclass::InputImageConstPointer;
95 using typename Superclass::OutputImagePointer;
100 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
101 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
111 SetSplineOrder(
unsigned int SplineOrder);
113 itkGetConstMacro(SplineOrder,
unsigned int);
119 itkGetConstMacro(NumberOfPoles,
unsigned int);
122 #ifdef ITK_USE_CONCEPT_CHECKING
135 PrintSelf(std::ostream & os,
Indent indent)
const override;
138 GenerateData()
override;
142 GenerateInputRequestedRegion()
override;
146 EnlargeOutputRequestedRegion(
DataObject * output)
override;
157 DataToCoefficients1D();
162 DataToCoefficientsND();
166 SetInitialCausalCoefficient(
double z);
171 SetInitialAntiCausalCoefficient(
double z);
197 unsigned int m_SplineOrder{ 0 };
201 unsigned int m_NumberOfPoles{};
204 double m_Tolerance{ 1
e-10 };
207 unsigned int m_IteratorDirection{ 0 };
211 #ifndef ITK_MANUAL_INSTANTIATION
212 # include "itkBSplineDecompositionImageFilter.hxx"