itk::DiffeomorphicDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField > Class Template Reference
Deformably register two images using a diffeomorphic demons algorithm.
More...
#include <itkDiffeomorphicDemonsRegistrationFilter.h>
List of all members.
Public Types |
| typedef AdderType::Pointer | AdderPointer |
typedef AddImageFilter
< DeformationFieldType,
DeformationFieldType,
DeformationFieldType > | AdderType |
| typedef SmartPointer< const Self > | ConstPointer |
typedef
Superclass::DeformationFieldPointer | DeformationFieldPointer |
typedef
Superclass::DeformationFieldType | DeformationFieldType |
typedef
ESMDemonsRegistrationFunction
< FixedImageType,
MovingImageType,
DeformationFieldType > | DemonsRegistrationFunctionType |
typedef
FieldExponentiatorType::Pointer | FieldExponentiatorPointer |
typedef
ExponentialDeformationFieldImageFilter
< DeformationFieldType,
DeformationFieldType > | FieldExponentiatorType |
typedef
FieldInterpolatorType::OutputType | FieldInterpolatorOutputType |
typedef
FieldInterpolatorType::Pointer | FieldInterpolatorPointer |
typedef
VectorLinearInterpolateNearestNeighborExtrapolateImageFunction
< DeformationFieldType, double > | FieldInterpolatorType |
typedef
Superclass::FiniteDifferenceFunctionType | FiniteDifferenceFunctionType |
typedef
Superclass::FixedImagePointer | FixedImagePointer |
| typedef Superclass::FixedImageType | FixedImageType |
typedef
DemonsRegistrationFunctionType::GradientType | GradientType |
typedef
Superclass::MovingImagePointer | MovingImagePointer |
| typedef Superclass::MovingImageType | MovingImageType |
typedef
MultiplyByConstantType::Pointer | MultiplyByConstantPointer |
typedef
MultiplyByConstantImageFilter
< DeformationFieldType,
TimeStepType,
DeformationFieldType > | MultiplyByConstantType |
| typedef SmartPointer< Self > | Pointer |
typedef
DiffeomorphicDemonsRegistrationFilter | Self |
typedef
PDEDeformableRegistrationFilter
< TFixedImage, TMovingImage,
TDeformationField > | Superclass |
typedef
FiniteDifferenceFunctionType::TimeStepType | TimeStepType |
| typedef VectorWarperType::Pointer | VectorWarperPointer |
typedef WarpVectorImageFilter
< DeformationFieldType,
DeformationFieldType,
DeformationFieldType > | VectorWarperType |
Public Member Functions |
| virtual double | GetIntensityDifferenceThreshold () const |
| virtual double | GetMaximumUpdateStepLength () const |
| virtual double | GetMetric () const |
| virtual const double & | GetRMSChange () const |
| virtual GradientType | GetUseGradientType () const |
| | itkNewMacro (Self) |
| | itkTypeMacro (DiffeomorphicDemonsRegistrationFilter, PDEDeformableRegistrationFilter) |
| virtual void | SetIntensityDifferenceThreshold (double) |
| virtual void | SetMaximumUpdateStepLength (double) |
| virtual void | SetUseGradientType (GradientType gtype) |
Protected Member Functions |
| virtual void | AllocateUpdateBuffer () |
| virtual void | ApplyUpdate (TimeStepType dt) |
| | DiffeomorphicDemonsRegistrationFilter () |
| virtual void | InitializeIteration () |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| | ~DiffeomorphicDemonsRegistrationFilter () |
Private Member Functions |
| | DiffeomorphicDemonsRegistrationFilter (const Self &) |
| void | operator= (const Self &) |
Private Attributes |
| AdderPointer | m_Adder |
| FieldExponentiatorPointer | m_Exponentiator |
| MultiplyByConstantPointer | m_Multiplier |
| VectorWarperPointer | m_Warper |
Detailed Description
template<class TFixedImage, class TMovingImage, class TDeformationField>
class itk::DiffeomorphicDemonsRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >
Deformably register two images using a diffeomorphic demons algorithm.
This class was contributed by Tom Vercauteren, INRIA & Mauna Kea Technologies, based on a variation of the DemonsRegistrationFilter. The basic modification is to use diffeomorphism exponentials.
See T. Vercauteren, X. Pennec, A. Perchant and N. Ayache, "Non-parametric Diffeomorphic Image Registration with the Demons Algorithm", Proc. of MICCAI 2007.
DiffeomorphicDemonsRegistrationFilter implements the demons deformable algorithm that register two images by computing the deformation field which will map a moving image onto a fixed image.
A deformation field is represented as a image 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.
This class is templated over the fixed image type, moving image type and the deformation field type.
The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively. An initial deformation field maybe set via SetInitialDeformationField or SetInput. If no initial field is set, a zero field is used as the initial condition.
The output deformation field can be obtained via methods GetOutput or GetDeformationField.
This class make use of the finite difference solver hierarchy. Update for each iteration is computed in DemonsRegistrationFunction.
- Author:
- Tom Vercauteren, INRIA & Mauna Kea Technologies
- Warning:
- This filter assumes that the fixed image type, moving image type and deformation field type all have the same number of dimensions.
This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/510
- See also:
- DemonsRegistrationFilter
-
DemonsRegistrationFunction
This class was contributed by Tom Vercauteren, INRIA & Mauna Kea Technologies, based on a variation of the DemonsRegistrationFilter. The basic modification is to use diffeomorphism exponentials.
See T. Vercauteren, X. Pennec, A. Perchant and N. Ayache, "Non-parametric Diffeomorphic Image Registration with the Demons Algorithm", Proc. of MICCAI 2007.
DiffeomorphicDemonsRegistrationFilter implements the demons deformable algorithm that register two images by computing the deformation field which will map a moving image onto a fixed image.
A deformation field is represented as a image 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.
This class is templated over the fixed image type, moving image type and the deformation field type.
The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively. An initial deformation field maybe set via SetInitialDeformationField or SetInput. If no initial field is set, a zero field is used as the initial condition.
The output deformation field can be obtained via methods GetOutput or GetDeformationField.
This class make use of the finite difference solver hierarchy. Update for each iteration is computed in DemonsRegistrationFunction.
- Author:
- Tom Vercauteren, INRIA & Mauna Kea Technologies
- Warning:
- This filter assumes that the fixed image type, moving image type and deformation field type all have the same number of dimensions.
- See also:
- DemonsRegistrationFilter
-
DemonsRegistrationFunction
Member Typedef Documentation
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
DemonsRegistrationFilterFunction type.
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
FiniteDifferenceFunction type.
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Exp and composition typedefs
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Take timestep type from the FiniteDifferenceFunction.
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Constructor & Destructor Documentation
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Member Function Documentation
template<class TFixedImage , class TMovingImage , class TDeformationField >
This method allocates storage in m_UpdateBuffer. It is called from FiniteDifferenceFilter::GenerateData().
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Get the metric value. The metric value is the mean square difference in intensity between the fixed image and transforming moving image computed over the the overlapping region between the two images. This value is calculated for the current iteration
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Initialize the state of filter and equation before each iteration.
template<class TFixedImage , class TMovingImage , class TDeformationField >
Method for creation through the object factory.
template<class TFixedImage , class TMovingImage , class TDeformationField >
Run-time type information (and related methods).
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Set/Get the threshold below which the absolute difference of intensity yields a match. When the intensities match between a moving and fixed image pixel, the update vector (for that iteration) will be the zero vector. Default is 0.001.
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
Member Data Documentation
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
template<class TFixedImage , class TMovingImage , class TDeformationField >
The documentation for this class was generated from the following file: