ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h>
Interface method for the current registration framework using the time varying velocity field transform.
Output: The output is the updated transform which has been added to the composite transform.
This derived class from the SimpleImageRegistrationMethod class is specialized to handle time-varying velocity field transforms of which there are currently 2:
The latter is derived from the former and performs an optional spatial and temporal smoothing on the update and total velocity fields. Integration of the velocity field is performed using 4th order Runge Kutta and is performed using the class itkTimeVaryingBSplineVelocityFieldIntegrationImageFilter.
Optimization occurs in an iterative fashion where for each sample time point, t, in the velocity field, we integrate the velocity field in the range [0, t] to yield the displacement field which warps fixed image to time point t. Simultaneously, we integrate the velocity field in the range [t, 1] to yield the displacement field transform which warps the moving image to time point t. The metric derivative for each time point of the velocity field calculated in this way produces the normalized update field (or gradient) of the velocity field to be added to the total field at each iteration after being multiplied by the learning rate and optionally smoothed. Mathematically, this can be described as
where
gaussian smoothing on the total field gaussian smoothing on the update field learning rate the normalized velocity field where we normalize the velocity field at each time point separately by the max norm of the field at that time point. This is done due to a weakly necessary (but not sufficient) condition being that the velocity field have a constant norm for all time points.
Definition at line 93 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef CompositeTransform<RealType, ImageDimension> itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::CompositeTransformType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 136 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef SmartPointer<const Self> itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::ConstPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 101 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::DerivativeType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::DerivativeType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 127 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef DerivativeType::ValueType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::DerivativeValueType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 128 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::DisplacementFieldType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::DisplacementFieldType |
Definition at line 129 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TimeVaryingVelocityFieldControlPointLatticeType::PixelType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::DisplacementVectorType |
Definition at line 134 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef FixedImageType::Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::FixedImagePointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 114 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TFixedImage itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::FixedImageType |
Input typedefs for the images and transforms.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 110 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef MetricType::MeasureType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::MeasureType |
Definition at line 122 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef MetricType::Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::MetricPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 120 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef Superclass::MetricType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::MetricType |
Metric and transform typedefs
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 119 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef MovingImageType::Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::MovingImagePointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 116 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TMovingImage itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::MovingImageType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 115 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef Array<SizeValueType> itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::NumberOfIterationsArrayType |
Definition at line 141 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef SmartPointer<Self> itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::Pointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 100 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::ScalarType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::RealType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 126 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TimeVaryingBSplineVelocityFieldImageRegistrationMethod itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::Self |
Standard class typedefs.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 98 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef ImageRegistrationMethodv4<TFixedImage, TMovingImage, TTransform> itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::Superclass |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 99 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::TimeVaryingVelocityFieldControlPointLatticePointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TimeVaryingVelocityFieldControlPointLatticePointer |
Definition at line 131 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::TimeVaryingVelocityFieldControlPointLatticeType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TimeVaryingVelocityFieldControlPointLatticeType |
Definition at line 130 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::TimeVaryingVelocityFieldControlPointLatticePointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TimeVaryingVelocityFieldPointer |
Definition at line 133 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::TimeVaryingVelocityFieldControlPointLatticeType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TimeVaryingVelocityFieldType |
Definition at line 132 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformOutputType::Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TransformOutputPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 139 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef Superclass::TransformOutputType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TransformOutputType |
Type for the output: Using Decorator pattern for enabling the transform to be passed in the data pipeline
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 138 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TransformType::Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TransformPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 125 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef TTransform itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TransformType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 124 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
typedef MetricType::VirtualImageType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::VirtualImageType |
Definition at line 121 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TimeVaryingBSplineVelocityFieldImageRegistrationMethod | ( | ) | [protected] |
virtual itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::~TimeVaryingBSplineVelocityFieldImageRegistrationMethod | ( | ) | [protected, virtual] |
itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::TimeVaryingBSplineVelocityFieldImageRegistrationMethod | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::GenerateData | ( | ) | [protected, virtual] |
Perform the registration.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
virtual RealType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::GetConvergenceThreshold | ( | ) | const [virtual] |
Set/Get the convergence threshold
virtual RealType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::GetLearningRate | ( | ) | const [virtual] |
Set/Get the learning rate.
virtual const char* itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
virtual NumberOfIterationsArrayType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::GetNumberOfIterationsPerLevel | ( | ) | const [virtual] |
Set/Get the number of iterations per level.
virtual SizeValueType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::GetNumberOfTimePointSamples | ( | ) | const [virtual] |
Set/Get the number of time point samples.
static Pointer itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::operator= | ( | const Self & | ) | [private] |
Time when GenerateOutputInformation was last called.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::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::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::SetConvergenceThreshold | ( | RealType | _arg | ) | [virtual] |
Set/Get the convergence threshold
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::SetLearningRate | ( | RealType | _arg | ) | [virtual] |
Set/Get the learning rate.
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::SetNumberOfIterationsPerLevel | ( | NumberOfIterationsArrayType | _arg | ) | [virtual] |
Set/Get the number of iterations per level.
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::SetNumberOfTimePointSamples | ( | SizeValueType | _arg | ) | [virtual] |
Set/Get the number of time point samples.
virtual void itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::StartOptimization | ( | ) | [protected, virtual] |
Handle optimization internally
const unsigned int itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::ImageDimension = TFixedImage::ImageDimension [static] |
ImageDimension constants
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TTransform >.
Definition at line 107 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
RealType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::m_ConvergenceThreshold [private] |
Definition at line 181 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
RealType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::m_LearningRate [private] |
Definition at line 179 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
NumberOfIterationsArrayType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::m_NumberOfIterationsPerLevel [private] |
Definition at line 183 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.
SizeValueType itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TTransform >::m_NumberOfTimePointSamples [private] |
Definition at line 185 of file itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.h.