itk::MultiResolutionLogDomainDeformableRegistration< TFixedImage, TMovingImage, TField, TRealType > Class Template Reference
Framework for performing multi-resolution log-domain deformable registration.
More...
#include <itkMultiResolutionLogDomainDeformableRegistration.h>
List of all members.
Public Types |
| typedef SmartPointer< const Self > | ConstPointer |
typedef
LogDomainDemonsRegistrationFilter
< FloatImageType,
FloatImageType,
VelocityFieldType > | DefaultRegistrationType |
typedef
DeformationFieldType::Pointer | DeformationFieldPointer |
| typedef TField | DeformationFieldType |
| typedef FieldExpanderType::Pointer | FieldExpanderPointer |
typedef
VectorResampleImageFilter
< VelocityFieldType,
VelocityFieldType > | FieldExpanderType |
typedef
FixedImageType::ConstPointer | FixedImageConstPointer |
| typedef FixedImageType::Pointer | FixedImagePointer |
typedef
FixedImagePyramidType::Pointer | FixedImagePyramidPointer |
typedef
MultiResolutionPyramidImageFilter
< FixedImageType,
FloatImageType > | FixedImagePyramidType |
| typedef TFixedImage | FixedImageType |
typedef Image< TRealType,
itkGetStaticConstMacro(ImageDimension) > | FloatImageType |
typedef
MovingImageType::ConstPointer | MovingImageConstPointer |
| typedef MovingImageType::Pointer | MovingImagePointer |
typedef
MovingImagePyramidType::Pointer | MovingImagePyramidPointer |
typedef
MultiResolutionPyramidImageFilter
< MovingImageType,
FloatImageType > | MovingImagePyramidType |
| typedef TMovingImage | MovingImageType |
| typedef SmartPointer< Self > | Pointer |
| typedef RegistrationType::Pointer | RegistrationPointer |
typedef
LogDomainDeformableRegistrationFilter
< FloatImageType,
FloatImageType,
VelocityFieldType > | RegistrationType |
typedef
MultiResolutionLogDomainDeformableRegistration | Self |
typedef ImageToImageFilter
< TField, TField > | Superclass |
| typedef VelocityFieldType::Pointer | VelocityFieldPointer |
| typedef TField | VelocityFieldType |
Public Member Functions |
| DeformationFieldPointer | GetDeformationField () |
| const FixedImageType * | GetFixedImage (void) const |
| DeformationFieldPointer | GetInverseDeformationField () |
| const MovingImageType * | GetMovingImage (void) const |
| virtual const unsigned int * | GetNumberOfIterations () const |
virtual std::vector
< SmartPointer< DataObject >
>::size_type | GetNumberOfValidRequiredInputs () const |
| VelocityFieldType * | GetVelocityField () |
| | itkGetConstReferenceMacro (CurrentLevel, unsigned int) |
| | itkGetConstReferenceMacro (NumberOfLevels, unsigned int) |
| | itkGetObjectMacro (FieldExpander, FieldExpanderType) |
| | itkGetObjectMacro (MovingImagePyramid, MovingImagePyramidType) |
| | itkGetObjectMacro (FixedImagePyramid, FixedImagePyramidType) |
| | itkGetObjectMacro (RegistrationFilter, RegistrationType) |
| | itkNewMacro (Self) |
| | itkSetObjectMacro (FieldExpander, FieldExpanderType) |
| | itkSetObjectMacro (MovingImagePyramid, MovingImagePyramidType) |
| | itkSetObjectMacro (FixedImagePyramid, FixedImagePyramidType) |
| | itkSetObjectMacro (RegistrationFilter, RegistrationType) |
| | itkSetVectorMacro (NumberOfIterations, unsigned int, m_NumberOfLevels) |
| | itkStaticConstMacro (ImageDimension, unsigned int, FixedImageType::ImageDimension) |
| | itkTypeMacro (MultiResolutionLogDomainDeformableRegistration, ImageToImageFilter) |
| virtual void | SetArbitraryInitialVelocityField (VelocityFieldType *ptr) |
| virtual void | SetFixedImage (const FixedImageType *ptr) |
| virtual void | SetInitialVelocityField (VelocityFieldType *ptr) |
| virtual void | SetMovingImage (const MovingImageType *ptr) |
| virtual void | SetNumberOfLevels (unsigned int num) |
| virtual void | StopRegistration () |
Protected Types |
typedef
FieldExponentiatorType::Pointer | FieldExponentiatorPointer |
typedef
ExponentialDeformationFieldImageFilter2
< VelocityFieldType,
DeformationFieldType > | FieldExponentiatorType |
Protected Member Functions |
| virtual void | EnlargeOutputRequestedRegion (DataObject *ptr) |
| virtual void | GenerateData () |
| virtual void | GenerateInputRequestedRegion () |
| virtual void | GenerateOutputInformation () |
| virtual bool | Halt () |
| | itkGetObjectMacro (Exponentiator, FieldExponentiatorType) |
| | itkSetObjectMacro (Exponentiator, FieldExponentiatorType) |
| | MultiResolutionLogDomainDeformableRegistration () |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| | ~MultiResolutionLogDomainDeformableRegistration () |
Private Member Functions |
| | MultiResolutionLogDomainDeformableRegistration (const Self &) |
| void | operator= (const Self &) |
Private Attributes |
| unsigned int | m_CurrentLevel |
| FieldExponentiatorPointer | m_Exponentiator |
| FieldExpanderPointer | m_FieldExpander |
| FixedImagePyramidPointer | m_FixedImagePyramid |
| VelocityFieldPointer | m_InitialVelocityField |
| MovingImagePyramidPointer | m_MovingImagePyramid |
| std::vector< unsigned int > | m_NumberOfIterations |
| unsigned int | m_NumberOfLevels |
| RegistrationPointer | m_RegistrationFilter |
| bool | m_StopRegistrationFlag |
Detailed Description
template<class TFixedImage, class TMovingImage, class TField, class TRealType = float>
class itk::MultiResolutionLogDomainDeformableRegistration< TFixedImage, TMovingImage, TField, TRealType >
Framework for performing multi-resolution log-domain deformable registration.
MultiResolutionLogDomainDeformableRegistration provides a generic framework to peform multi-resolution deformable registration.
At each resolution level a LogDomainDeformableRegistrationFilter is used to register two images by computing the velocity field whose exponential will map a moving image onto a fixed image.
See T. Vercauteren, X. Pennec, A. Perchant and N. Ayache, "Symmetric Log-Domain Diffeomorphic Registration: A Demons-based Approach", Proc. of MICCAI 2008.
Velocity and deformation fields are represented as images whose pixel type is some vector type with at least N elements, where N is the dimension of the fixed image. The vector type must support element access via operator []. It is assumed that the vector elements behave like floating point scalars.
The internal LogDomainDeformableRegistrationFilter can be set using SetRegistrationFilter. By default a LogDomainDemonsRegistrationFilter is used.
The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively. An initial velocity field maybe set via SetInitialVelocityField if is matches the characteristics of the coarsest pyramid level. If no such assumption can be made (e.g. the velocity field has the same characteristics as the input images), an initial velocity field can still be set via SetArbitraryInitialVelocityField or SetInput. The filter will then take care of mathching the coarsest level characteristics. If no initial field is set a zero field is used as the initial condition.
MultiResolutionPyramidImageFilters are used to downsample the fixed and moving images. A VectorExpandImageFilter is used to upsample the velocity field as we move from a coarse to fine solution.
This class is templated over the fixed image type, the moving image type, and the velocity/deformation Field type.
- Warning:
- This class assumes that the fixed, moving and field image types all have the same number of dimensions.
- Author:
- Florence Dru, INRIA and Tom Vercauteren, MKT
- See also:
- LogDomainDeformableRegistrationFilter
-
LogDomainDemonsRegistrationFilter
-
MultiResolutionPyramidImageFilter
-
VectorExpandImageFilter
The current implementation of this class does not support streaming.
Member Typedef Documentation
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The default registration type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Deformation field image type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The velocity field expander type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The fixed multi-resolution image pyramid type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Internal float image type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The moving multi-resolution image pyramid type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The internal registration type.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Constructor & Destructor Documentation
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Member Function Documentation
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The current implementation of this class does not supprot streaming. As such it produces the output for the largest possible region.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Generate output data by performing the registration at each resolution level.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
The current implementation of this class does not support streaming. As such it requires the largest possible region for the moving, fixed and input velocity field.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
By default, the output velocity field has the same spacing, origin and LargestPossibleRegion as the input/initial velocity field. If the initial velocity field is not set, the output information is copied from the fixed image.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get output deformation field.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get output inverse deformation field.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get number of iterations per multi-resolution levels.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get output velocity field.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
This method returns true to indicate that the registration should terminate at the current resolution level.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get the current resolution level being processed.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get number of multi-resolution levels.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get the moving image pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get the moving image pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get the fixed image pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Get the internal registrator.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Method for creation through the object factory.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set the moving image pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set the moving image pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set the fixed image pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set the internal registrator.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set number of iterations per multi-resolution levels.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Run-time type information (and related methods).
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set initial velocity field. No assumption is made on the input. It will therefore be smoothed and resampled to match the images characteristics at the coarsest level of the pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set initial velocity field to be used as is (no smoothing, no subsampling at the coarsest level of the pyramid.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Set number of multi-resolution levels.
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Stop the registration after the current iteration.
Member Data Documentation
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
template<class TFixedImage , class TMovingImage , class TField , class TRealType = float>
Flag to indicate user stop registration request.
The documentation for this class was generated from the following file: