ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension > Class Template Reference

#include <itkTimeVaryingBSplineVelocityFieldTransform.h>

Detailed Description

template<typename TParametersValueType, unsigned int VDimension>
class itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >

Integrate a time-varying velocity field represented by a B-spline control point lattice.

Diffeomorphisms are topology-preserving mappings that are useful for describing biologically plausible deformations. Mathematically, a diffeomorphism, \( \phi \), is generated from a time-varying velocity field, v, as described by the integral equation:

\[ \phi(t_b) = \phi(t_a) + \int_{t_a}^{t_b} v(\phi(t),t) dt \]

In typical registration applications it is computationally more efficient to sample the B-spline transform to its corresponding displacement field. Therefore, the user needs to specify the domain parameters of that displacement field using the following functions:

It's important that these parameters match up with the fixed parameters of this transform which are defined as the parameters of the (N+1)-D B-spline grid representing the continuous velocity field. This control point lattice is set using SetTimeVaryingVelocityFieldControlPointLattice() or it can be created by setting the fixed parameters.

Note: For readability of the code, it is important to note that we store the control point lattice in the m_VelocityField variable since they are of the same type. It's only when we call IntegrateVelocityField() that a sampled velocity field is created from the control point lattice.

Author
Nick Tustison
Brian Avants

Definition at line 68 of file itkTimeVaryingBSplineVelocityFieldTransform.h.

+ Inheritance diagram for itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >:
+ Collaboration diagram for itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DisplacementFieldDirectionType = typename DisplacementFieldType::DirectionType
 
using DisplacementFieldPointType = typename DisplacementFieldType::PointType
 
using DisplacementFieldSizeType = typename DisplacementFieldType::SizeType
 
using DisplacementFieldSpacingType = typename DisplacementFieldType::SpacingType
 
using DisplacementVectorType = typename DisplacementFieldType::PixelType
 
using FixedParametersValueType = typename FixedParametersType::ValueType
 
using ParametersValueType = typename ParametersType::ValueType
 
using Pointer = SmartPointer< Self >
 
using Self = TimeVaryingBSplineVelocityFieldTransform
 
using Superclass = VelocityFieldTransform< TParametersValueType, VDimension >
 
using TimeVaryingVelocityFieldControlPointLatticePointer = typename VelocityFieldType::Pointer
 
using TimeVaryingVelocityFieldControlPointLatticeType = VelocityFieldType
 
using VelocityFieldDirectionType = typename VelocityFieldType::DirectionType
 
using VelocityFieldIntegratorType = typename Superclass::VelocityFieldInterpolatorType
 
using VelocityFieldPointType = typename VelocityFieldType::PointType
 
using VelocityFieldSizeType = typename VelocityFieldType::SizeType
 
using VelocityFieldSpacingType = typename VelocityFieldType::SpacingType
 
- Public Types inherited from itk::VelocityFieldTransform< TParametersValueType, VDimension >
using ConstPointer = SmartPointer< const Self >
 
using DirectionType = typename VelocityFieldType::DirectionType
 
using DisplacementFieldPointer = typename DisplacementFieldType::Pointer
 
using IndexType = typename VelocityFieldType::IndexType
 
using OptimizerParametersHelperType = ImageVectorOptimizerParametersHelper< ScalarType, Dimension, VelocityFieldDimension >
 
using PixelType = typename VelocityFieldType::PixelType
 
using Pointer = SmartPointer< Self >
 
using PointType = typename VelocityFieldType::PointType
 
using RegionType = typename VelocityFieldType::RegionType
 
using Self = VelocityFieldTransform
 
using SizeType = typename VelocityFieldType::SizeType
 
using SpacingType = typename VelocityFieldType::SpacingType
 
using Superclass = DisplacementFieldTransform< TParametersValueType, VDimension >
 
using VelocityFieldInterpolatorPointer = typename VelocityFieldInterpolatorType::Pointer
 
using VelocityFieldInterpolatorType = VectorInterpolateImageFunction< VelocityFieldType, ScalarType >
 
using VelocityFieldPointer = typename VelocityFieldType::Pointer
 
using VelocityFieldType = Image< OutputVectorType, VelocityFieldDimension >
 
- Public Types inherited from itk::DisplacementFieldTransform< TParametersValueType, VDimension >
using ConstPointer = SmartPointer< const Self >
 
using DirectionType = typename DisplacementFieldType::DirectionType
 
using DisplacementFieldConstPointer = typename DisplacementFieldType::ConstPointer
 
using DisplacementFieldPointer = typename DisplacementFieldType::Pointer
 
using DisplacementFieldType = Image< OutputVectorType, Dimension >
 
using IndexType = typename DisplacementFieldType::IndexType
 
using InputTensorEigenVectorType = CovariantVector< ScalarType, InputDiffusionTensor3DType::Dimension >
 
using InterpolatorType = VectorInterpolateImageFunction< DisplacementFieldType, ScalarType >
 
using OptimizerParametersHelperType = ImageVectorOptimizerParametersHelper< ScalarType, OutputVectorType::Dimension, Dimension >
 
using OutputTensorEigenVectorType = CovariantVector< ScalarType, OutputDiffusionTensor3DType::Dimension >
 
using PixelType = typename DisplacementFieldType::PixelType
 
using Pointer = SmartPointer< Self >
 
using PointType = typename DisplacementFieldType::PointType
 
using RegionType = typename DisplacementFieldType::RegionType
 
using Self = DisplacementFieldTransform
 
using SizeType = typename DisplacementFieldType::SizeType
 
using SpacingType = typename DisplacementFieldType::SpacingType
 
using Superclass = Transform< TParametersValueType, VDimension, VDimension >
 
using VectorImageDisplacementFieldType = VectorImage< TParametersValueType, Dimension >
 
- Public Types inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
using ConstPointer = SmartPointer< const Self >
 
using DerivativeType = Array< ParametersValueType >
 
using DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension >
 
using InputCovariantVectorType = CovariantVector< TParametersValueType, VInputDimension >
 
using InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType >
 
using InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension >
 
using InputPointType = Point< TParametersValueType, VInputDimension >
 
using InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VInputDimension >
 
using InputVectorPixelType = VariableLengthVector< TParametersValueType >
 
using InputVectorType = Vector< TParametersValueType, VInputDimension >
 
using InputVnlVectorType = vnl_vector_fixed< TParametersValueType, VInputDimension >
 
using InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, VInputDimension, VOutputDimension >
 
using InverseTransformBasePointer = typename InverseTransformBaseType::Pointer
 
using InverseTransformBaseType = Transform< TParametersValueType, VOutputDimension, VInputDimension >
 
using JacobianPositionType = vnl_matrix_fixed< ParametersValueType, VOutputDimension, VInputDimension >
 
using JacobianType = Array2D< ParametersValueType >
 
using MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension >
 
using OutputCovariantVectorType = CovariantVector< TParametersValueType, VOutputDimension >
 
using OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType >
 
using OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension >
 
using OutputPointType = Point< TParametersValueType, VOutputDimension >
 
using OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, VOutputDimension >
 
using OutputVectorPixelType = VariableLengthVector< TParametersValueType >
 
using OutputVectorType = Vector< TParametersValueType, VOutputDimension >
 
using OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, VOutputDimension >
 
using Pointer = SmartPointer< Self >
 
using ScalarType = ParametersValueType
 
using Self = Transform
 
using Superclass = TransformBaseTemplate< TParametersValueType >
 

Public Member Functions

const char * GetNameOfClass () const override
 
VelocityFieldTypeGetTimeVaryingVelocityFieldControlPointLattice ()
 
void IntegrateVelocityField () override
 
virtual void SetTimeVaryingVelocityFieldControlPointLattice (VelocityFieldType *fieldLattice)
 
void UpdateTransformParameters (const DerivativeType &update, ScalarType factor=1.0) override
 
virtual void SetVelocityFieldOrigin (VelocityFieldPointType _arg)
 
virtual VelocityFieldPointType GetVelocityFieldOrigin () const
 
virtual void SetVelocityFieldSpacing (VelocityFieldSpacingType _arg)
 
virtual VelocityFieldSpacingType GetVelocityFieldSpacing () const
 
virtual void SetVelocityFieldSize (VelocityFieldSizeType _arg)
 
virtual VelocityFieldSizeType GetVelocityFieldSize () const
 
virtual void SetVelocityFieldDirection (VelocityFieldDirectionType _arg)
 
virtual VelocityFieldDirectionType GetVelocityFieldDirection () const
 
virtual void SetSplineOrder (unsigned int _arg)
 
virtual unsigned int GetSplineOrder () const
 
- Public Member Functions inherited from itk::VelocityFieldTransform< TParametersValueType, VDimension >
bool GetInverse (Self *inverse) const
 
InverseTransformBasePointer GetInverseTransform () const override
 
virtual ScalarType GetLowerTimeBound () const
 
const char * GetNameOfClass () const override
 
virtual unsigned int GetNumberOfIntegrationSteps () const
 
virtual ScalarType GetUpperTimeBound () const
 
virtual const unsigned long & GetVelocityFieldSetTime () const
 
void SetFixedParameters (const FixedParametersType &) override
 
virtual void SetLowerTimeBound (ScalarType _arg)
 
virtual void SetNumberOfIntegrationSteps (unsigned int _arg)
 
virtual void SetUpperTimeBound (ScalarType _arg)
 
void UpdateTransformParameters (const DerivativeType &update, ScalarType factor=1.0) override
 
virtual void SetVelocityField (VelocityFieldType *)
 
virtual VelocityFieldTypeGetModifiableVelocityField ()
 
virtual void SetVelocityFieldInterpolator (VelocityFieldInterpolatorType *)
 
virtual VelocityFieldInterpolatorTypeGetModifiableVelocityFieldInterpolator ()
 
void SetDisplacementField (DisplacementFieldType *displacementField) override
 
- Public Member Functions inherited from itk::DisplacementFieldTransform< TParametersValueType, VDimension >
void ComputeInverseJacobianWithRespectToPosition (const InputPointType &point, InverseJacobianPositionType &jacobian) const override
 
virtual void ComputeJacobianWithRespectToParameters (const IndexType &, JacobianType &j) const
 
virtual void ComputeJacobianWithRespectToPosition (const IndexType &index, JacobianPositionType &jacobian) const
 
void ComputeJacobianWithRespectToPosition (const InputPointType &point, JacobianPositionType &jacobian) const override
 
virtual const ModifiedTimeTypeGetDisplacementFieldSetTime () const
 
bool GetInverse (Self *inverse) const
 
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition (const IndexType &index, JacobianPositionType &jacobian, bool useSVD=false) const
 
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition (const InputPointType &point, JacobianPositionType &jacobian, bool useSVD=false) const
 
const char * GetNameOfClass () const override
 
NumberOfParametersType GetNumberOfLocalParameters () const override
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual void SetIdentity ()
 
OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const override
 
OutputVectorPixelType TransformDiffusionTensor (const InputVectorPixelType &) const
 
OutputPointType TransformPoint (const InputPointType &inputPoint) const override
 
OutputVectorPixelType TransformVector (const InputVectorPixelType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
virtual void SetDisplacementField (VectorImageDisplacementFieldType *field)
 
void SetDisplacementField (std::nullptr_t)=delete
 
virtual DisplacementFieldTypeGetModifiableDisplacementField ()
 
virtual void SetInverseDisplacementField (DisplacementFieldType *inverseField)
 
virtual DisplacementFieldTypeGetModifiableInverseDisplacementField ()
 
virtual void SetInterpolator (InterpolatorType *interpolator)
 
virtual InterpolatorTypeGetModifiableInterpolator ()
 
virtual void SetInverseInterpolator (InterpolatorType *interpolator)
 
virtual InterpolatorTypeGetModifiableInverseInterpolator ()
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputDiffusionTensor3DType TransformDiffusionTensor (const InputDiffusionTensor3DType &) const
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
void SetParameters (const ParametersType &params) override
 
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &j) const override
 
virtual void SetCoordinateTolerance (double _arg)
 
virtual double GetCoordinateTolerance () const
 
virtual void SetDirectionTolerance (double _arg)
 
virtual double GetDirectionTolerance () const
 
- Public Member Functions inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
virtual void ComputeJacobianWithRespectToParametersCachedTemporaries (const InputPointType &p, JacobianType &jacobian, JacobianType &) const
 
void CopyInFixedParameters (const FixedParametersValueType *const begin, const FixedParametersValueType *const end) override
 
void CopyInParameters (const ParametersValueType *const begin, const ParametersValueType *const end) override
 
const FixedParametersType & GetFixedParameters () const override
 
unsigned int GetInputSpaceDimension () const override
 
bool GetInverse (Self *) const
 
const char * GetNameOfClass () const override
 
virtual NumberOfParametersType GetNumberOfFixedParameters () const
 
NumberOfParametersType GetNumberOfParameters () const override
 
unsigned int GetOutputSpaceDimension () const override
 
const ParametersType & GetParameters () const override
 
TransformCategoryEnum GetTransformCategory () const override
 
std::string GetTransformTypeAsString () const override
 
virtual bool IsLinear () const
 
 itkCloneMacro (Self)
 
void SetParametersByValue (const ParametersType &p) override
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &inputTensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &inputTensor, const InputPointType &point) const
 
virtual OutputSymmetricSecondRankTensorType TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const
 
virtual OutputSymmetricSecondRankTensorType TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &inputTensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &inputTensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &vector, const InputPointType &point) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const
 
template< typename TImage > std std::enable_if_t< TImage::ImageDimension==VInputDimension &&TImage::ImageDimension==VOutputDimension, void > ApplyToImageMetadata (SmartPointer< TImage > image) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::VelocityFieldTransform< TParametersValueType, VDimension >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::DisplacementFieldTransform< TParametersValueType, VDimension >
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int Dimension = VDimension
 
static constexpr unsigned int VelocityFieldDimension = VDimension + 1
 
- Static Public Attributes inherited from itk::VelocityFieldTransform< TParametersValueType, VDimension >
static constexpr unsigned int Dimension = VDimension
 
static constexpr unsigned int VelocityFieldDimension = VDimension + 1
 
- Static Public Attributes inherited from itk::DisplacementFieldTransform< TParametersValueType, VDimension >
static constexpr unsigned int Dimension = VDimension
 
- Static Public Attributes inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
static constexpr unsigned int InputSpaceDimension
 
static constexpr unsigned int OutputSpaceDimension
 

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const override
 
 TimeVaryingBSplineVelocityFieldTransform ()
 
 ~TimeVaryingBSplineVelocityFieldTransform () override=default
 
- Protected Member Functions inherited from itk::VelocityFieldTransform< TParametersValueType, VDimension >
DisplacementFieldType::Pointer CopyDisplacementField (const DisplacementFieldType *) const
 
LightObject::Pointer InternalClone () const override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 VelocityFieldTransform ()
 
 ~VelocityFieldTransform () override=default
 
- Protected Member Functions inherited from itk::DisplacementFieldTransform< TParametersValueType, VDimension >
 DisplacementFieldTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~DisplacementFieldTransform () override=default
 
- Protected Member Functions inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
LightObject::Pointer InternalClone () const override
 
OutputDiffusionTensor3DType PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const
 
 Transform ()=default
 
 Transform (NumberOfParametersType numberOfParameters)
 
 ~Transform () override=default
 

Private Attributes

unsigned int m_SplineOrder {}
 
bool m_TemporalPeriodicity {}
 
VelocityFieldDirectionType m_VelocityFieldDirection {}
 
VelocityFieldPointType m_VelocityFieldOrigin {}
 
VelocityFieldSizeType m_VelocityFieldSize {}
 
VelocityFieldSpacingType m_VelocityFieldSpacing {}
 

Additional Inherited Members

- Public Attributes inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
InverseJacobianPositionType &jacobian const
 
- Static Protected Member Functions inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
static InverseTransformBasePointer InvertTransform (const TTransform &transform)
 
- Protected Attributes inherited from itk::VelocityFieldTransform< TParametersValueType, VDimension >
ScalarType m_LowerTimeBound {}
 
unsigned int m_NumberOfIntegrationSteps {}
 
ScalarType m_UpperTimeBound {}
 
VelocityFieldPointer m_VelocityField {}
 
VelocityFieldInterpolatorType::Pointer m_VelocityFieldInterpolator {}
 
unsigned long m_VelocityFieldSetTime {}
 
- Protected Attributes inherited from itk::DisplacementFieldTransform< TParametersValueType, VDimension >
DisplacementFieldType::Pointer m_DisplacementField {}
 
ModifiedTimeType m_DisplacementFieldSetTime { 0 }
 
JacobianType m_IdentityJacobian {}
 
InterpolatorType::Pointer m_Interpolator {}
 
DisplacementFieldType::Pointer m_InverseDisplacementField {}
 
InterpolatorType::Pointer m_InverseInterpolator {}
 
- Protected Attributes inherited from itk::Transform< TParametersValueType, VDimension, VDimension >
FixedParametersType m_FixedParameters
 
ParametersType m_Parameters
 

Member Typedef Documentation

◆ ConstPointer

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::ConstPointer = SmartPointer<const Self>

◆ DisplacementFieldDirectionType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::DisplacementFieldDirectionType = typename DisplacementFieldType::DirectionType

◆ DisplacementFieldPointType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::DisplacementFieldPointType = typename DisplacementFieldType::PointType

◆ DisplacementFieldSizeType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::DisplacementFieldSizeType = typename DisplacementFieldType::SizeType

◆ DisplacementFieldSpacingType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::DisplacementFieldSpacingType = typename DisplacementFieldType::SpacingType

◆ DisplacementVectorType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::DisplacementVectorType = typename DisplacementFieldType::PixelType

◆ FixedParametersValueType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::FixedParametersValueType = typename FixedParametersType::ValueType

◆ ParametersValueType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::ParametersValueType = typename ParametersType::ValueType

◆ Pointer

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::Pointer = SmartPointer<Self>

◆ Self

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::Self = TimeVaryingBSplineVelocityFieldTransform

Standard class type aliases.

Definition at line 75 of file itkTimeVaryingBSplineVelocityFieldTransform.h.

◆ Superclass

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::Superclass = VelocityFieldTransform<TParametersValueType, VDimension>

◆ TimeVaryingVelocityFieldControlPointLatticePointer

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::TimeVaryingVelocityFieldControlPointLatticePointer = typename VelocityFieldType::Pointer

◆ TimeVaryingVelocityFieldControlPointLatticeType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::TimeVaryingVelocityFieldControlPointLatticeType = VelocityFieldType

◆ VelocityFieldDirectionType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::VelocityFieldDirectionType = typename VelocityFieldType::DirectionType

◆ VelocityFieldIntegratorType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::VelocityFieldIntegratorType = typename Superclass::VelocityFieldInterpolatorType

◆ VelocityFieldPointType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::VelocityFieldPointType = typename VelocityFieldType::PointType

◆ VelocityFieldSizeType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::VelocityFieldSizeType = typename VelocityFieldType::SizeType

◆ VelocityFieldSpacingType

template<typename TParametersValueType , unsigned int VDimension>
using itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::VelocityFieldSpacingType = typename VelocityFieldType::SpacingType

Constructor & Destructor Documentation

◆ TimeVaryingBSplineVelocityFieldTransform()

template<typename TParametersValueType , unsigned int VDimension>
itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::TimeVaryingBSplineVelocityFieldTransform ( )
protected

◆ ~TimeVaryingBSplineVelocityFieldTransform()

template<typename TParametersValueType , unsigned int VDimension>
itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::~TimeVaryingBSplineVelocityFieldTransform ( )
overrideprotecteddefault

Member Function Documentation

◆ GetNameOfClass()

template<typename TParametersValueType , unsigned int VDimension>
const char* itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetNameOfClass ( ) const
override

◆ GetSplineOrder()

template<typename TParametersValueType , unsigned int VDimension>
virtual unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetSplineOrder ( ) const
virtual

Set/Get the spline order.

◆ GetTimeVaryingVelocityFieldControlPointLattice()

template<typename TParametersValueType , unsigned int VDimension>
VelocityFieldType* itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetTimeVaryingVelocityFieldControlPointLattice ( )
inline

Get the time-varying velocity field control point lattice.

Definition at line 132 of file itkTimeVaryingBSplineVelocityFieldTransform.h.

◆ GetVelocityFieldDirection()

template<typename TParametersValueType , unsigned int VDimension>
virtual VelocityFieldDirectionType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetVelocityFieldDirection ( ) const
virtual

Set/Get sampled velocity field direction

◆ GetVelocityFieldOrigin()

template<typename TParametersValueType , unsigned int VDimension>
virtual VelocityFieldPointType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetVelocityFieldOrigin ( ) const
virtual

Set/Get sampled velocity field origin

◆ GetVelocityFieldSize()

template<typename TParametersValueType , unsigned int VDimension>
virtual VelocityFieldSizeType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetVelocityFieldSize ( ) const
virtual

Set/Get sampled velocity field size

◆ GetVelocityFieldSpacing()

template<typename TParametersValueType , unsigned int VDimension>
virtual VelocityFieldSpacingType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::GetVelocityFieldSpacing ( ) const
virtual

Set/Get sampled velocity field spacing

◆ IntegrateVelocityField()

template<typename TParametersValueType , unsigned int VDimension>
void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::IntegrateVelocityField ( )
overridevirtual

Trigger the computation of the displacement field by integrating the time-varying velocity field.

Reimplemented from itk::VelocityFieldTransform< TParametersValueType, VDimension >.

◆ New()

template<typename TParametersValueType , unsigned int VDimension>
static Pointer itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::New ( )
static

New macro for creation of through a Smart Pointer

◆ PrintSelf()

template<typename TParametersValueType , unsigned int VDimension>
void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetSplineOrder()

template<typename TParametersValueType , unsigned int VDimension>
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::SetSplineOrder ( unsigned int  _arg)
virtual

Set/Get the spline order.

◆ SetTimeVaryingVelocityFieldControlPointLattice()

template<typename TParametersValueType , unsigned int VDimension>
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::SetTimeVaryingVelocityFieldControlPointLattice ( VelocityFieldType fieldLattice)
inlinevirtual

Set the time-varying velocity field control point lattice.

Definition at line 139 of file itkTimeVaryingBSplineVelocityFieldTransform.h.

◆ SetVelocityFieldDirection()

template<typename TParametersValueType , unsigned int VDimension>
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::SetVelocityFieldDirection ( VelocityFieldDirectionType  _arg)
virtual

Set/Get sampled velocity field direction

◆ SetVelocityFieldOrigin()

template<typename TParametersValueType , unsigned int VDimension>
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::SetVelocityFieldOrigin ( VelocityFieldPointType  _arg)
virtual

Set/Get sampled velocity field origin

◆ SetVelocityFieldSize()

template<typename TParametersValueType , unsigned int VDimension>
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::SetVelocityFieldSize ( VelocityFieldSizeType  _arg)
virtual

Set/Get sampled velocity field size

◆ SetVelocityFieldSpacing()

template<typename TParametersValueType , unsigned int VDimension>
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::SetVelocityFieldSpacing ( VelocityFieldSpacingType  _arg)
virtual

Set/Get sampled velocity field spacing

◆ UpdateTransformParameters()

template<typename TParametersValueType , unsigned int VDimension>
void itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::UpdateTransformParameters ( const DerivativeType update,
ScalarType  factor = 1.0 
)
override

Update the transform's parameters by the adding values in update to current parameter values. We assume update is of the same length as Parameters. Throw exception otherwise. factor is a scalar multiplier for each value in update. SetParameters is called at the end of this method, to allow transforms to perform any required operations on the update parameters, typically a conversion to member variables for use in TransformPoint.

Member Data Documentation

◆ Dimension

template<typename TParametersValueType , unsigned int VDimension>
constexpr unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::Dimension = VDimension
staticconstexpr

Dimension of the domain spaces.

Definition at line 111 of file itkTimeVaryingBSplineVelocityFieldTransform.h.

◆ m_SplineOrder

template<typename TParametersValueType , unsigned int VDimension>
unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::m_SplineOrder {}
private

◆ m_TemporalPeriodicity

template<typename TParametersValueType , unsigned int VDimension>
bool itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::m_TemporalPeriodicity {}
private

◆ m_VelocityFieldDirection

template<typename TParametersValueType , unsigned int VDimension>
VelocityFieldDirectionType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::m_VelocityFieldDirection {}
private

◆ m_VelocityFieldOrigin

template<typename TParametersValueType , unsigned int VDimension>
VelocityFieldPointType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::m_VelocityFieldOrigin {}
private

◆ m_VelocityFieldSize

template<typename TParametersValueType , unsigned int VDimension>
VelocityFieldSizeType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::m_VelocityFieldSize {}
private

◆ m_VelocityFieldSpacing

template<typename TParametersValueType , unsigned int VDimension>
VelocityFieldSpacingType itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::m_VelocityFieldSpacing {}
private

◆ VelocityFieldDimension

template<typename TParametersValueType , unsigned int VDimension>
constexpr unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TParametersValueType, VDimension >::VelocityFieldDimension = VDimension + 1
staticconstexpr

Dimension of the time varying velocity field.

Definition at line 114 of file itkTimeVaryingBSplineVelocityFieldTransform.h.


The documentation for this class was generated from the following file: