ITK
4.2.0
Insight Segmentation and Registration Toolkit
|
#include <itkTimeVaryingBSplineVelocityFieldTransform.h>
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | Dimension = NDimensions |
static const unsigned int | TimeVaryingVelocityFieldDimension = NDimensions+1 |
Static Public Attributes inherited from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions > | |
Static Public Attributes inherited from itk::DisplacementFieldTransform< TScalar, NDimensions > | |
Static Public Attributes inherited from itk::Transform< TScalar, NDimensions, NDimensions > | |
static const unsigned int | InputSpaceDimension |
static const unsigned int | OutputSpaceDimension |
Private Member Functions | |
void | operator= (const Self &) |
TimeVaryingBSplineVelocityFieldTransform (const Self &) |
Additional Inherited Members | |
Protected Attributes inherited from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions > | |
ScalarType | m_LowerTimeBound |
unsigned int | m_NumberOfIntegrationSteps |
TimeVaryingVelocityFieldType::Pointer | m_TimeVaryingVelocityField |
TimeVaryingVelocityFieldInterpolatorPointer | m_TimeVaryingVelocityFieldInterpolator |
ScalarType | m_UpperTimeBound |
Protected Attributes inherited from itk::DisplacementFieldTransform< TScalar, NDimensions > | |
DisplacementFieldType::Pointer | m_DisplacementField |
unsigned long | m_DisplacementFieldSetTime |
InterpolatorType::Pointer | m_Interpolator |
DisplacementFieldType::Pointer | m_InverseDisplacementField |
JacobianType | m_IdentityJacobian |
Protected Attributes inherited from itk::Transform< TScalar, NDimensions, NDimensions > | |
DirectionChangeMatrix | m_DirectionChange |
ParametersType | m_FixedParameters |
ParametersType | m_Parameters |
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.
|
protected |
|
protectedvirtual |
|
private |
bool itk::TimeVaryingBSplineVelocityFieldTransform< TScalar, NDimensions >::GetInverse | ( | Self * | inverse | ) | const |
Return an inverse of this transform.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
virtual |
Return an inverse of this transform.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
virtual |
Set/Get spline order.
|
virtual |
Set/Get temporal periodicity.
|
virtual |
Get the time-varying velocity field control point lattice.
|
virtual |
Set/Get sampled velocity field direction
|
virtual |
Set/Get sampled velocity field origin
|
virtual |
Set/Get sampled velocity field size
|
virtual |
Set/Get sampled velocity field spacing
|
virtual |
Trigger the computation of the displacement field by integrating the time-varying velocity field.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
static |
New macro for creation of through a Smart Pointer
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
private |
Create an identity jacobian for use in ComputeJacobianWithRespectToParameters.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
protectedvirtual |
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 |
Set the fixed parameters and update internal transformation.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
|
virtual |
Set/Get spline order.
|
virtual |
Set/Get temporal periodicity.
|
virtual |
Set the time-varying velocity field control point lattice.
|
virtual |
Set/Get sampled velocity field direction
|
virtual |
Set/Get sampled velocity field origin
|
virtual |
Set/Get sampled velocity field size
|
virtual |
Set/Get sampled velocity field spacing
|
virtual |
Set/Get temporal periodicity.
|
virtual |
Set/Get temporal periodicity.
|
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 >.
|
static |
Dimension of the domain spaces.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 106 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
Definition at line 201 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
Definition at line 202 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
The deformation field and its inverse (if it exists).
Definition at line 199 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
Definition at line 206 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
Definition at line 204 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
Definition at line 207 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
private |
Definition at line 205 of file itkTimeVaryingBSplineVelocityFieldTransform.h.
|
static |
Dimension of the time varying velocity field.
Reimplemented from itk::TimeVaryingVelocityFieldTransform< TScalar, NDimensions >.
Definition at line 109 of file itkTimeVaryingBSplineVelocityFieldTransform.h.