ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkTimeVaryingBSplineVelocityFieldTransform.h>
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, , is generated from a time-varying velocity field, v, as described by the integral equation:
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:
SetDisplacementFieldSpacing()
SetDisplacementFieldOrigin()
SetDisplacementFieldSize()
SetDisplacementFieldDirection()
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.
Definition at line 63 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef SmartPointer<const Self> itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::ConstPointer |
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 72 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::DerivativeType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DerivativeType |
Derivative type
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 103 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::DisplacementFieldType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementFieldControlPointLatticeType |
Definition at line 123 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef DisplacementFieldType::DirectionType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementFieldDirectionType |
Definition at line 129 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef DisplacementFieldType::PointType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementFieldPointType |
Definition at line 128 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef DisplacementFieldType::SizeType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementFieldSizeType |
Definition at line 126 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef DisplacementFieldType::SpacingType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementFieldSpacingType |
Definition at line 127 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::DisplacementFieldType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementFieldType |
Define the displacement field type and corresponding interpolator type.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 124 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef DisplacementFieldType::PixelType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::DisplacementVectorType |
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 125 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::InputPointType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::InputPointType |
Standard coordinate point type for this class.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 95 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::InputVectorType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::InputVectorType |
Standard vector type for this class.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 99 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::InverseTransformBasePointer itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::InverseTransformBasePointer |
InverseTransform type.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 78 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::JacobianType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::JacobianType |
Jacobian type.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 92 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::NumberOfParametersType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::NumberOfParametersType |
The number of parameters defininig this transform.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 89 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::OutputPointType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::OutputPointType |
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 96 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::OutputVectorType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::OutputVectorType |
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 100 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::ParametersType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::ParametersType |
Type of the input parameters.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 87 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef ParametersType::ValueType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::ParametersValueType |
Type of the input parameters.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 88 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef SmartPointer<Self> itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::Pointer |
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 71 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Superclass::ScalarType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::ScalarType |
Scalar type.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 84 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingBSplineVelocityFieldTransform itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::Self |
Standard class typedefs.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 69 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldTransform<TScalar, NDimensions> itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::Superclass |
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 70 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType::Pointer itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TimeVaryingVelocityFieldControlPointLatticePointer |
Definition at line 115 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef Image<OutputVectorType, TimeVaryingVelocityFieldDimension> itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TimeVaryingVelocityFieldControlPointLatticeType |
Define the time-varying velocity field type.
Definition at line 114 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TimeVaryingVelocityFieldType |
Define the time-varying velocity field type and corresponding interpolator type.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 116 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType::DirectionType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::VelocityFieldDirectionType |
Definition at line 121 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType::PointType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::VelocityFieldPointType |
Definition at line 118 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType::SizeType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::VelocityFieldSizeType |
Definition at line 119 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType::SpacingType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::VelocityFieldSpacingType |
Definition at line 120 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TimeVaryingBSplineVelocityFieldTransform | ( | ) | [protected] |
virtual itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::~TimeVaryingBSplineVelocityFieldTransform | ( | ) | [protected, virtual] |
itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TimeVaryingBSplineVelocityFieldTransform | ( | const Self & | ) | [private] |
bool itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetInverse | ( | Self * | inverse | ) | const |
Return an inverse of this transform.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
virtual InverseTransformBasePointer itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetInverseTransform | ( | ) | const [virtual] |
Return an inverse of this transform.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
virtual const char* itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
virtual unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetSplineOrder | ( | ) | const [virtual] |
Set/Get spline order.
virtual bool itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetTemporalPeriodicity | ( | ) | const [virtual] |
Set/Get temporal periodicity.
virtual TimeVaryingVelocityFieldControlPointLatticeType* itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetTimeVaryingVelocityFieldControlPointLattice | ( | ) | [virtual] |
Get the time-varying velocity field control point lattice.
virtual VelocityFieldDirectionType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetVelocityFieldDirection | ( | ) | const [virtual] |
Set/Get sampled velocity field direction
virtual VelocityFieldPointType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetVelocityFieldOrigin | ( | ) | const [virtual] |
Set/Get sampled velocity field origin
virtual VelocityFieldSizeType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetVelocityFieldSize | ( | ) | const [virtual] |
Set/Get sampled velocity field size
virtual VelocityFieldSpacingType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetVelocityFieldSpacing | ( | ) | const [virtual] |
Set/Get sampled velocity field spacing
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::IntegrateVelocityField | ( | ) | [virtual] |
Trigger the computation of the displacement field by integrating the time-varying velocity field.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
static Pointer itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::operator= | ( | const Self & | ) | [private] |
Create an identity jacobian for use in ComputeJacobianWithRespectToParameters.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetFixedParameters | ( | const ParametersType & | ) | [virtual] |
Set the fixed parameters and update internal transformation.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetSplineOrder | ( | unsigned int | _arg | ) | [virtual] |
Set/Get spline order.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetTemporalPeriodicity | ( | bool | _arg | ) | [virtual] |
Set/Get temporal periodicity.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetTimeVaryingVelocityFieldControlPointLattice | ( | TimeVaryingVelocityFieldControlPointLatticeType * | ) | [virtual] |
Set the time-varying velocity field control point lattice.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetVelocityFieldDirection | ( | VelocityFieldDirectionType | _arg | ) | [virtual] |
Set/Get sampled velocity field direction
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetVelocityFieldOrigin | ( | VelocityFieldPointType | _arg | ) | [virtual] |
Set/Get sampled velocity field origin
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetVelocityFieldSize | ( | VelocityFieldSizeType | _arg | ) | [virtual] |
Set/Get sampled velocity field size
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::SetVelocityFieldSpacing | ( | VelocityFieldSpacingType | _arg | ) | [virtual] |
Set/Get sampled velocity field spacing
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TemporalPeriodicityOff | ( | ) | [virtual] |
Set/Get temporal periodicity.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TemporalPeriodicityOn | ( | ) | [virtual] |
Set/Get temporal periodicity.
virtual void itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::UpdateTransformParameters | ( | DerivativeType & | update, |
ScalarType | factor = 1.0 |
||
) | [virtual] |
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 converion to member variables for use in TransformPoint.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
const unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::Dimension = NDimensions [static] |
Dimension of the domain spaces.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 106 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_SplineOrder [private] |
Definition at line 201 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
bool itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_TemporalPeriodicity [private] |
Definition at line 202 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
TimeVaryingVelocityFieldControlPointLatticePointer itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_TimeVaryingVelocityFieldControlPointLattice [private] |
The deformation field and its inverse (if it exists).
Definition at line 199 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
VelocityFieldDirectionType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_VelocityFieldDirection [private] |
Definition at line 206 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
VelocityFieldPointType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_VelocityFieldOrigin [private] |
Definition at line 204 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
VelocityFieldSizeType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_VelocityFieldSize [private] |
Definition at line 207 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
VelocityFieldSpacingType itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::m_VelocityFieldSpacing [private] |
Definition at line 205 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
const unsigned int itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::TimeVaryingVelocityFieldDimension = NDimensions+1 [static] |
Dimension of the time varying velocity field.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 109 of file itkTimeVaryingBSplineVelocityFieldTransform.h.