ITK
4.3.0
Insight Segmentation and Registration Toolkit
|
#include <itkTimeVaryingVelocityFieldImageRegistrationMethodv4.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 ImageRegistrationMethodv4 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 itkTimeVaryingVelocityFieldIntegrationImageFilter.
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 itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform > | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TFixedImage::ImageDimension |
Static Public Attributes inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform > | |
static const unsigned int | ImageDimension = TFixedImage::ImageDimension |
Private Member Functions | |
void | operator= (const Self &) |
TimeVaryingVelocityFieldImageRegistrationMethodv4 (const Self &) | |
Private Attributes | |
RealType | m_ConvergenceThreshold |
unsigned int | m_ConvergenceWindowSize |
RealType | m_LearningRate |
NumberOfIterationsArrayType | m_NumberOfIterationsPerLevel |
typedef Superclass::CompositeTransformType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::CompositeTransformType |
Definition at line 138 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef SmartPointer<const Self> itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ConstPointer |
Definition at line 101 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef DecoratedOutputTransformType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformPointer |
Definition at line 141 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef Superclass::DecoratedOutputTransformType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformType |
Definition at line 140 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef OutputTransformType::DerivativeType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DerivativeType |
Definition at line 130 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef DerivativeType::ValueType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DerivativeValueType |
Definition at line 131 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef DisplacementFieldType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DisplacementFieldPointer |
Definition at line 135 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef OutputTransformType::DisplacementFieldType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DisplacementFieldType |
Definition at line 134 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef TimeVaryingVelocityFieldType::PixelType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DisplacementVectorType |
Definition at line 136 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef FixedImageType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImagePointer |
Definition at line 114 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef TFixedImage itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImageType |
Input typedefs for the images and transforms.
Definition at line 110 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef ImageMetricType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ImageMetricPointer |
Definition at line 122 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef Superclass::ImageMetricType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ImageMetricType |
Metric and transform typedefs
Definition at line 121 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef ImageMetricType::MeasureType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MeasureType |
Definition at line 124 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef MovingImageType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImagePointer |
Definition at line 116 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef TMovingImage itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImageType |
Definition at line 115 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef Superclass::MultiMetricType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MultiMetricType |
Definition at line 125 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef Array<SizeValueType> itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::NumberOfIterationsArrayType |
Definition at line 143 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef OutputTransformType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformPointer |
Definition at line 128 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef TOutputTransform itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformType |
Definition at line 127 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef SmartPointer<Self> itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Pointer |
Definition at line 100 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef OutputTransformType::ScalarType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::RealType |
Definition at line 129 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef MovingImageType::RegionType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::RegionType |
Definition at line 118 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef TimeVaryingVelocityFieldImageRegistrationMethodv4 itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Self |
Standard class typedefs.
Definition at line 98 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef ImageRegistrationMethodv4<TFixedImage, TMovingImage, TOutputTransform> itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Superclass |
Definition at line 99 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef TimeVaryingVelocityFieldType::Pointer itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TimeVaryingVelocityFieldPointer |
Definition at line 133 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef OutputTransformType::TimeVaryingVelocityFieldType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TimeVaryingVelocityFieldType |
Definition at line 132 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
typedef ImageMetricType::VirtualImageType itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::VirtualImageType |
Definition at line 123 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
|
protected |
|
protectedvirtual |
|
private |
|
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, TOutputTransform >.
|
protectedvirtual |
Perform the registration.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Set/Get the convergence threshold
|
virtual |
Set/Get the convergence window size
|
virtual |
Set/Get the learning rate.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Set/Get the number of iterations per level.
|
static |
Method for creation through the object factory.
|
private |
|
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::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Set/Get the convergence threshold
|
virtual |
Set/Get the convergence window size
|
virtual |
Set/Get the learning rate.
|
virtual |
Set/Get the number of iterations per level.
|
protectedvirtual |
Handle optimization internally
|
protected |
Multithreaded function which calculates the norm of the velocity field.
|
static |
ImageDimension constants
Definition at line 107 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
|
private |
Definition at line 186 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
|
private |
Definition at line 187 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
|
private |
Definition at line 184 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.
|
private |
Definition at line 189 of file itkTimeVaryingVelocityFieldImageRegistrationMethodv4.h.