ITK
4.2.0
Insight Segmentation and Registration Toolkit
|
#include <itkSyNImageRegistrationMethod.h>
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TFixedImage::ImageDimension |
Static Public Attributes inherited from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform > |
Private Member Functions | |
void | operator= (const Self &) |
SyNImageRegistrationMethod (const Self &) |
Private Attributes | |
RealType | m_GaussianSmoothingVarianceForTheTotalField |
RealType | m_GaussianSmoothingVarianceForTheUpdateField |
Interface method for the performing greedy SyN image registration.
For greedy SyN we use m_Transform
to map the time-parameterized middle image to the fixed image (and vice versa using m_Transform->GetInverseDisplacementField()
). We employ another ivar, m_InverseTransform
, to map the time-parameterized middle image to the moving image.
Output: The output is the updated transform which has been added to the composite transform.
This implementation is based on the source code in Advanced Normalization Tools (ANTs)
Avants, B. B.; Tustison, N. J.; Song, G.; Cook, P. A.; Klein, A. & Gee, J. C. A reproducible evaluation of ANTs similarity metric performance in brain image registration. Neuroimage, Penn Image Computing and Science Laboratory, University of Pennsylvania, 2011, 54, 2033-2044
The original paper discussing the method is here:
Avants, B. B.; Epstein, C. L.; Grossman, M. & Gee, J. C. Symmetric diffeomorphic image registration with cross-correlation: evaluating automated labeling of elderly and neurodegenerative brain. Med Image Anal, Department of Radiology, University of Pennsylvania, 2008, 12, 26-41
The method evolved since that time with crucial contributions from Gang Song and Nick Tustison. Though similar in spirit, this implementation is not identical.
Definition at line 74 of file itkSyNImageRegistrationMethod.h.
typedef Superclass::CompositeTransformType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::CompositeTransformType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 114 of file itkSyNImageRegistrationMethod.h.
typedef SmartPointer<const Self> itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::ConstPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 82 of file itkSyNImageRegistrationMethod.h.
typedef DecoratedOutputTransformType::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 118 of file itkSyNImageRegistrationMethod.h.
typedef Superclass::DecoratedOutputTransformType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformType |
Type for the output: Using Decorator pattern for enabling the transform to be passed in the data pipeline
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 117 of file itkSyNImageRegistrationMethod.h.
typedef OutputTransformType::DerivativeType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DerivativeType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 108 of file itkSyNImageRegistrationMethod.h.
typedef DerivativeType::ValueType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DerivativeValueType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 109 of file itkSyNImageRegistrationMethod.h.
typedef DisplacementFieldType::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DisplacementFieldPointer |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 111 of file itkSyNImageRegistrationMethod.h.
typedef OutputTransformType::DisplacementFieldType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DisplacementFieldType |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 110 of file itkSyNImageRegistrationMethod.h.
typedef DisplacementFieldType::PixelType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::DisplacementVectorType |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 112 of file itkSyNImageRegistrationMethod.h.
typedef FixedImageType::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::FixedImagePointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 95 of file itkSyNImageRegistrationMethod.h.
typedef TFixedImage itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::FixedImageType |
Input typedefs for the images and transforms.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 91 of file itkSyNImageRegistrationMethod.h.
typedef MetricType::MeasureType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::MeasureType |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 103 of file itkSyNImageRegistrationMethod.h.
typedef MetricType::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::MetricPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 101 of file itkSyNImageRegistrationMethod.h.
typedef Superclass::MetricType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::MetricType |
Metric and transform typedefs
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 100 of file itkSyNImageRegistrationMethod.h.
typedef MovingImageType::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::MovingImagePointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 97 of file itkSyNImageRegistrationMethod.h.
typedef TMovingImage itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::MovingImageType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 96 of file itkSyNImageRegistrationMethod.h.
typedef Array<SizeValueType> itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::NumberOfIterationsArrayType |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 120 of file itkSyNImageRegistrationMethod.h.
typedef OutputTransformType::Pointer itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformPointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 106 of file itkSyNImageRegistrationMethod.h.
typedef TOutputTransform itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 105 of file itkSyNImageRegistrationMethod.h.
typedef SmartPointer<Self> itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::Pointer |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 81 of file itkSyNImageRegistrationMethod.h.
typedef OutputTransformType::ScalarType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::RealType |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 107 of file itkSyNImageRegistrationMethod.h.
typedef SyNImageRegistrationMethod itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::Self |
Standard class typedefs.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 79 of file itkSyNImageRegistrationMethod.h.
typedef ImageRegistrationMethodv4<TFixedImage, TMovingImage, TOutputTransform> itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::Superclass |
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 80 of file itkSyNImageRegistrationMethod.h.
typedef CompositeTransformType::TransformType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::TransformBaseType |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 115 of file itkSyNImageRegistrationMethod.h.
typedef MetricType::VirtualImageType itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >::VirtualImageType |
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 102 of file itkSyNImageRegistrationMethod.h.
|
protected |
|
protectedvirtual |
|
private |
|
protectedvirtual |
|
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 >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
protectedvirtual |
|
protectedvirtual |
Perform the registration.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Allow the user to average the gradients in the mid-point domain. Default false. One might choose to do this to further reduce bias.
|
virtual |
Set/Get the convergence threshold
|
virtual |
Set/Get the convergence window size
|
virtual |
Let the user control whether we compute metric derivatives in the downsampled or full-res space. The default is 'true' — classic SyN — but there may be advantages to the other approach. Classic SyN did not have this possibility. This implementation will let us explore the question.
|
virtual |
Get/Set the Gaussian smoothing variance for the total field. Default = 0.5.
|
virtual |
Get/Set the Gaussian smoothing variance for the update field. Default = 1.75.
|
virtual |
Set/Get the learning rate.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Set/Get the number of iterations per level.
|
protectedvirtual |
Initialize by setting the interconnects between the components. Need to override in the SyN class since we need to "adapt" the m_InverseTransform
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
protectedvirtual |
|
static |
Method for creation through the object factory.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
private |
Time when GenerateOutputInformation was last called.
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
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 |
Allow the user to average the gradients in the mid-point domain. Default false. One might choose to do this to further reduce bias.
|
virtual |
Set/Get the convergence threshold
|
virtual |
Set/Get the convergence window size
|
virtual |
Let the user control whether we compute metric derivatives in the downsampled or full-res space. The default is 'true' — classic SyN — but there may be advantages to the other approach. Classic SyN did not have this possibility. This implementation will let us explore the question.
|
virtual |
Get/Set the Gaussian smoothing variance for the total field. Default = 0.5.
|
virtual |
Get/Set the Gaussian smoothing variance for the update field. Default = 1.75.
|
virtual |
Set/Get the learning rate.
|
virtual |
Set/Get the number of iterations per level.
|
protectedvirtual |
Handle optimization internally
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
static |
ImageDimension constants
Reimplemented from itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
Reimplemented in itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
Definition at line 88 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 204 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 199 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 200 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 203 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 197 of file itkSyNImageRegistrationMethod.h.
|
private |
Definition at line 211 of file itkSyNImageRegistrationMethod.h.
|
private |
Definition at line 210 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 194 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 196 of file itkSyNImageRegistrationMethod.h.
|
protected |
Definition at line 202 of file itkSyNImageRegistrationMethod.h.