18#ifndef itkBSplineBaseTransform_h
19#define itkBSplineBaseTransform_h
33template <
typename TParametersValueType =
double,
unsigned int VDimension = 3,
unsigned int VSplineOrder = 3>
49 static constexpr unsigned int SpaceDimension = VDimension;
52 static constexpr unsigned int SplineOrder = VSplineOrder;
201 return this->m_CoefficientImages;
204 using typename Superclass::DerivativeType;
239 static constexpr unsigned int NumberOfWeights{ WeightsFunctionType::NumberOfWeights };
257 bool & inside)
const = 0;
259#if !defined(ITK_LEGACY_REMOVE)
261 itkLegacyMacro(
unsigned long GetNumberOfWeights()
const)
263 return m_WeightsFunction->GetNumberOfWeights();
269 using Superclass::TransformVector;
273 itkExceptionMacro(
"Method not applicable for deformable transform.");
282 itkExceptionMacro(
"Method not applicable for deformable transform. ");
287 using Superclass::TransformCovariantVector;
288 OutputCovariantVectorType
291 itkExceptionMacro(
"Method not applicable for deformable transform. ");
307 itkExceptionMacro(
"ComputeJacobianWithRespectToPosition not yet implemented "
311 using Superclass::ComputeJacobianWithRespectToPosition;
314 NumberOfParametersType
324 return Self::TransformCategoryEnum::BSpline;
339 return this->GetNumberOfParameters();
411 static CoefficientImageArray
416#ifndef ITK_MANUAL_INSTANTIATION
417# include "itkBSplineBaseTransform.hxx"
Array2D class representing a 2D array.
Array class with size defined at construction time.
Returns the weights over the support region used for B-spline interpolation/reconstruction.
typename Superclass::OutputType WeightsType
A templated class holding a point in n-Dimensional image space.
A templated class holding a n-Dimensional covariant vector.
An image region represents a structured region of data.
Templated n-dimensional image class.
Control indentation during Print() invocation.
Class to hold and manage different parameter types used during optimization.
TParametersValueType ValueType
A templated class holding a geometric point in n-Dimensional space.
A templated class holding a n-Dimensional vector.
const char * GetNameOfClass() const override
SmartPointer< Self > Pointer
ImageBaseType::DirectionType DirectionType
ImageBaseType::IndexType IndexType
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar images