18#ifndef itkBSplineStackTransform_h
19#define itkBSplineStackTransform_h
27template <
unsigned int NDimension>
39 using Pointer = itk::SmartPointer<BSplineStackTransform>;
40 using typename Superclass::FixedParametersType;
59 if (!Superclass::m_FixedParameters.empty())
75 const auto numberOfFixedParameters = fixedParameters.size();
78 itkExceptionMacro(
"The number of FixedParameters (" << numberOfFixedParameters <<
") should be at least "
81 const auto lastFixedParameter = fixedParameters.back();
82 if (lastFixedParameter >= 1 && lastFixedParameter <= 3 &&
83 static_cast<double>(
static_cast<unsigned>(lastFixedParameter)) == lastFixedParameter)
85 m_SplineOrder =
static_cast<unsigned>(fixedParameters.back());
89 itkExceptionMacro(
"The last FixedParameters (" << lastFixedParameter <<
") should be a valid spline order.");
92 if (Superclass::m_FixedParameters != fixedParameters)
94 Superclass::m_FixedParameters = fixedParameters;
107 FixedParametersType & fixedParametersOfStack = this->Superclass::m_FixedParameters;
114 typename Superclass::SubTransformPointer