ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkLandmarkBasedTransformInitializer.h>
LandmarkBasedTransformInitializer is a helper class intended to The class computes the transform that aligns the fixed and moving images given a set of landmarks. The class is templated over the Transform type. The transform computed gives the best fit transform that maps the fixed and moving images in a least squares sense. The indices are taken to correspond, so point 1 in the first set will get mapped close to point 1 in the second set, etc. An equal number of fixed and moving landmarks need to be specified using SetFixedLandmarks() SetMovingLandmarks(). Any number of landmarks may be specified. Call InitializeTransform() to initialize the transform.
Currently, the following transforms are supported by the class: VersorRigid3DTransform Rigid2DTransform
The class is based in part on Hybrid/vtkLandmarkTransform originally implemented in python by David G. Gobbi.
The solution is based on Berthold K. P. Horn (1987), "Closed-form solution of absolute orientation using unit quaternions," http://people.csail.mit.edu/bkph/papers/Absolute_Orientation.pdf
The Affine Transform initializer is based on an algorithm by H Spaeth, and is described in the Insight Journal Article "Affine Transformation for Landmark Based Registration Initializer in ITK" by Kim E.Y., Johnson H., Williams N. available at http://midasjournal.com/browse/publication/825
Definition at line 70 of file itkLandmarkBasedTransformInitializer.h.
typedef AffineTransform< ParameterValueType, FixedImageType::ImageDimension > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::AffineTransformType |
Definition at line 143 of file itkLandmarkBasedTransformInitializer.h.
typedef SmartPointer< const Self > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ConstPointer |
Reimplemented from itk::Object.
Definition at line 78 of file itkLandmarkBasedTransformInitializer.h.
typedef FixedImageType::ConstPointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::FixedImagePointer |
Definition at line 103 of file itkLandmarkBasedTransformInitializer.h.
typedef TFixedImage itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::FixedImageType |
Image Types to use in the initialization of the transform
Definition at line 96 of file itkLandmarkBasedTransformInitializer.h.
typedef TransformType::InputPointType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InputPointType |
Convenience typedefs
Definition at line 110 of file itkLandmarkBasedTransformInitializer.h.
typedef std::vector< LandmarkPointType > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkPointContainer |
Definition at line 113 of file itkLandmarkBasedTransformInitializer.h.
typedef Point< double, itkGetStaticConstMacro(ImageDimension) > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkPointType |
Definition at line 112 of file itkLandmarkBasedTransformInitializer.h.
typedef LandmarkWeightType::const_iterator itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkWeightConstIterator |
Definition at line 118 of file itkLandmarkBasedTransformInitializer.h.
typedef std::vector< double > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkWeightType |
Definition at line 117 of file itkLandmarkBasedTransformInitializer.h.
typedef MovingImageType::ConstPointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::MovingImagePointer |
Definition at line 104 of file itkLandmarkBasedTransformInitializer.h.
typedef TMovingImage itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::MovingImageType |
Definition at line 100 of file itkLandmarkBasedTransformInitializer.h.
typedef TransformType::OutputVectorType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::OutputVectorType |
Definition at line 111 of file itkLandmarkBasedTransformInitializer.h.
typedef TransformType::ParametersType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ParametersType |
Definition at line 115 of file itkLandmarkBasedTransformInitializer.h.
typedef ParametersType::ValueType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ParameterValueType |
Definition at line 116 of file itkLandmarkBasedTransformInitializer.h.
typedef SmartPointer< Self > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Pointer |
Reimplemented from itk::Object.
Definition at line 77 of file itkLandmarkBasedTransformInitializer.h.
typedef LandmarkPointContainer::const_iterator itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::PointsContainerConstIterator |
Definition at line 114 of file itkLandmarkBasedTransformInitializer.h.
typedef Rigid2DTransform< ParameterValueType > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Rigid2DTransformType |
Definition at line 142 of file itkLandmarkBasedTransformInitializer.h.
typedef LandmarkBasedTransformInitializer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Reimplemented from itk::Object.
Definition at line 75 of file itkLandmarkBasedTransformInitializer.h.
typedef Object itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::Superclass |
Reimplemented from itk::Object.
Definition at line 76 of file itkLandmarkBasedTransformInitializer.h.
typedef TransformType::Pointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::TransformPointer |
Definition at line 88 of file itkLandmarkBasedTransformInitializer.h.
typedef TTransform itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::TransformType |
Type of the transform to initialize
Definition at line 84 of file itkLandmarkBasedTransformInitializer.h.
typedef VersorRigid3DTransform< ParameterValueType > itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::VersorRigid3DTransformType |
Supported Transform typedefs
Definition at line 141 of file itkLandmarkBasedTransformInitializer.h.
enum itk::LandmarkBasedTransformInitializer::InputTransformType [protected] |
Definition at line 155 of file itkLandmarkBasedTransformInitializer.h.
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkBasedTransformInitializer | ( | ) | [protected] |
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::~LandmarkBasedTransformInitializer | ( | ) | [inline, protected] |
Definition at line 150 of file itkLandmarkBasedTransformInitializer.h.
itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::LandmarkBasedTransformInitializer | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::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::Object.
virtual const char* itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::Object.
virtual void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InitializeTransform | ( | ) | [virtual] |
Initialize the transform from the landmarks
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InternalInitializeTransform | ( | TTransform * | ) | [private] |
fallback Initializer just sets transform to identity
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InternalInitializeTransform | ( | VersorRigid3DTransformType * | ) | [private] |
Initializer for VersorRigid3D
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InternalInitializeTransform | ( | Rigid2DTransformType * | ) | [private] |
Initializer for Rigid2DTransform
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InternalInitializeTransform | ( | AffineTransformType * | ) | [private] |
Initializer for AffineTransform
static Pointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer.
Reimplemented from itk::Object.
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::Object.
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::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::Object.
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetFixedLandmarks | ( | const LandmarkPointContainer & | fixedLandmarks | ) | [inline] |
Set the Fixed landmark point containers
Definition at line 121 of file itkLandmarkBasedTransformInitializer.h.
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetLandmarkWeight | ( | LandmarkWeightType & | landmarkWeight | ) | [inline] |
Set the landmark weight point containers Weight includes diagonal elements of weight matrix
Definition at line 135 of file itkLandmarkBasedTransformInitializer.h.
void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetMovingLandmarks | ( | const LandmarkPointContainer & | movingLandmarks | ) | [inline] |
Set the Moving landmark point containers
Definition at line 127 of file itkLandmarkBasedTransformInitializer.h.
virtual void itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::SetTransform | ( | TransformType * | _arg | ) | [virtual] |
Set the transform to be initialized
const unsigned int itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::ImageDimension = FixedImageType::ImageDimension [static] |
Determine the image dimension.
Definition at line 107 of file itkLandmarkBasedTransformInitializer.h.
const unsigned int itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::InputSpaceDimension = TransformType::InputSpaceDimension [static] |
Dimension of parameters.
Definition at line 91 of file itkLandmarkBasedTransformInitializer.h.
FixedImagePointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_FixedImage [private] |
Definition at line 178 of file itkLandmarkBasedTransformInitializer.h.
LandmarkPointContainer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_FixedLandmarks [private] |
Definition at line 181 of file itkLandmarkBasedTransformInitializer.h.
LandmarkWeightType itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_LandmarkWeight [private] |
weights for affine landmarks
Definition at line 186 of file itkLandmarkBasedTransformInitializer.h.
MovingImagePointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_MovingImage [private] |
Definition at line 179 of file itkLandmarkBasedTransformInitializer.h.
LandmarkPointContainer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_MovingLandmarks [private] |
Definition at line 182 of file itkLandmarkBasedTransformInitializer.h.
TransformPointer itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::m_Transform [private] |
Definition at line 184 of file itkLandmarkBasedTransformInitializer.h.
const unsigned int itk::LandmarkBasedTransformInitializer< TTransform, TFixedImage, TMovingImage >::OutputSpaceDimension = TransformType::OutputSpaceDimension [static] |
Dimension of parameters.
Definition at line 92 of file itkLandmarkBasedTransformInitializer.h.