18 #ifndef itkVelocityFieldTransform_h
19 #define itkVelocityFieldTransform_h
35 template <
typename TParametersValueType,
unsigned int VDimension>
60 using typename Superclass::FixedParametersType;
61 using typename Superclass::FixedParametersValueType;
62 using typename Superclass::ParametersType;
63 using typename Superclass::ParametersValueType;
66 using typename Superclass::TransformCategoryEnum;
69 using typename Superclass::NumberOfParametersType;
86 static constexpr
unsigned int VelocityFieldDimension = VDimension + 1;
89 static constexpr
unsigned int Dimension = VDimension;
92 using typename Superclass::DisplacementFieldType;
96 using typename Superclass::VectorImageDisplacementFieldType;
118 using Superclass::SetDisplacementField;
130 SetFixedParameters(
const FixedParametersType &)
override;
140 itkGetConstReferenceMacro(VelocityFieldSetTime,
unsigned long);
150 itkDebugMacro(
"setting DisplacementField to " << displacementField);
151 if (this->m_DisplacementField != displacementField)
153 this->m_DisplacementField = displacementField;
160 UpdateTransformParameters(
const DerivativeType & update, ScalarType factor = 1.0)
override;
164 GetInverse(
Self * inverse)
const;
167 InverseTransformBasePointer
168 GetInverseTransform()
const override;
179 itkSetClampMacro(LowerTimeBound, ScalarType, 0.0, 1.0);
185 itkGetConstMacro(LowerTimeBound, ScalarType);
191 itkSetClampMacro(UpperTimeBound, ScalarType, 0.0, 1.0);
197 itkGetConstMacro(UpperTimeBound, ScalarType);
202 itkSetMacro(NumberOfIntegrationSteps,
unsigned int);
207 itkGetConstMacro(NumberOfIntegrationSteps,
unsigned int);
213 PrintSelf(std::ostream & os,
Indent indent)
const override;
217 InternalClone()
const override;
220 CopyDisplacementField(
const DisplacementFieldType *)
const;
225 unsigned int m_NumberOfIntegrationSteps{};
234 unsigned long m_VelocityFieldSetTime{};
242 SetFixedParametersFromVelocityField()
const;
246 #ifndef ITK_MANUAL_INSTANTIATION
247 # include "itkVelocityFieldTransform.hxx"
250 #endif // itkVelocityFieldTransform_h