18 #ifndef itkTimeVaryingBSplineVelocityFieldTransformParametersAdaptor_h
19 #define itkTimeVaryingBSplineVelocityFieldTransformParametersAdaptor_h
65 template <
typename TTransform>
93 typename TransformType::TimeVaryingVelocityFieldControlPointLatticeType;
98 using VectorType =
typename TimeVaryingVelocityFieldControlPointLatticeType::PixelType;
100 using SpacingType =
typename TimeVaryingVelocityFieldControlPointLatticeType::SpacingType;
117 SetRequiredTransformDomainMeshSize(
const MeshSizeType &);
120 itkGetConstReferenceMacro(RequiredTransformDomainMeshSize,
MeshSizeType);
124 SetRequiredTransformDomainSize(
const SizeType &);
127 itkGetConstReferenceMacro(RequiredTransformDomainSize,
SizeType);
131 SetRequiredTransformDomainSpacing(
const SpacingType &);
134 itkGetConstReferenceMacro(RequiredTransformDomainSpacing,
SpacingType);
138 SetRequiredTransformDomainOrigin(
const OriginType &);
141 itkGetConstReferenceMacro(RequiredTransformDomainOrigin,
OriginType);
148 itkGetConstReferenceMacro(RequiredTransformDomainDirection,
DirectionType);
157 requiredLatticeOrigin[i] = this->m_RequiredFixedParameters[TotalDimension + i];
159 return requiredLatticeOrigin;
171 static_cast<FixedParametersValueType>(this->m_RequiredTransformDomainSize[i] - 1.0) *
172 this->m_RequiredTransformDomainSpacing[i];
173 requiredLatticeSpacing[i] =
174 domainPhysicalDimensions / static_cast<FixedParametersValueType>(this->m_RequiredTransformDomainMeshSize[i]);
176 return requiredLatticeSpacing;
187 requiredLatticeSize[i] = static_cast<SizeValueType>(this->m_RequiredFixedParameters[i]);
189 return requiredLatticeSize;
197 return this->m_RequiredTransformDomainDirection;
202 AdaptTransformParameters()
override;
205 SetRequiredFixedParameters(
const FixedParametersType)
override;
212 PrintSelf(std::ostream & os,
Indent indent)
const override;
217 UpdateRequiredFixedParameters();
230 #ifndef ITK_MANUAL_INSTANTIATION
231 # include "itkTimeVaryingBSplineVelocityFieldTransformParametersAdaptor.hxx"