18#ifndef itkAdvancedBSplineDeformableTransformBase_h
19#define itkAdvancedBSplineDeformableTransformBase_h
23#include "itkImageRegion.h"
38template <
typename TScalarType = double,
39 unsigned int NDimensions = 3>
63 using typename Superclass::ParametersType;
64 using typename Superclass::FixedParametersType;
65 using typename Superclass::ParametersValueType;
66 using typename Superclass::NumberOfParametersType;
67 using typename Superclass::DerivativeType;
68 using typename Superclass::JacobianType;
69 using typename Superclass::ScalarType;
70 using typename Superclass::InputPointType;
71 using typename Superclass::OutputPointType;
72 using typename Superclass::InputVectorType;
73 using typename Superclass::OutputVectorType;
74 using typename Superclass::InputVnlVectorType;
75 using typename Superclass::OutputVnlVectorType;
76 using typename Superclass::InputCovariantVectorType;
77 using typename Superclass::OutputCovariantVectorType;
78 using typename Superclass::TransformCategoryEnum;
90 template <
template <
class,
unsigned,
unsigned>
class TBSplineDeformableTransform>
98 return TBSplineDeformableTransform<TScalarType, NDimensions, 1>::New();
102 return TBSplineDeformableTransform<TScalarType, NDimensions, 2>::New();
106 return TBSplineDeformableTransform<TScalarType, NDimensions, 3>::New();
109 itkGenericExceptionMacro(
"ERROR: The provided spline order (" << splineOrder <<
") is not supported.");
190 const ParametersType &
194 const FixedParametersType &
198 using PixelType =
typename ParametersType::ValueType;
199 using ImageType = Image<PixelType, Self::SpaceDimension>;
266 itkExceptionMacro(
"Method not applicable for deformable transform.");
276 itkExceptionMacro(
"Method not applicable for deformable transform. ");
283 OutputCovariantVectorType
286 itkExceptionMacro(
"Method not applicable for deformable transform. ");
291 NumberOfParametersType
295 virtual NumberOfParametersType
312 TransformCategoryEnum
315 return TransformCategoryEnum::BSpline;
322 NumberOfParametersType
333 PrintSelf(std::ostream & os, Indent indent)
const override;
362 using Superclass::TransformVector;
363 using Superclass::TransformCovariantVector;
410#ifndef ITK_MANUAL_INSTANTIATION
411# include "itkAdvancedBSplineDeformableTransformBase.hxx"