Main Page
Groups
Namespace List
Class Hierarchy
Alphabetical List
Compound List
File
List
Namespace Members
Compound Members
File Members
Concepts
itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField > Class Template Reference
[Deformable Registration Methods]
Deformably register two images using a PDE algorithm.
More...
#include <itkPDEDeformableRegistrationFilter.h>
Inheritance diagram for itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >:
[legend]Collaboration diagram for itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >:
[legend]List of all members.
Detailed Description
template<class TFixedImage, class TMovingImage, class TDeformationField>
class itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >
Deformably register two images using a PDE algorithm.
PDEDeformableRegistrationFilter is a base case for filter implementing a PDE 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.
The PDE algorithm is run for a user defined number of iterations. Typically the PDE algorithm requires period Gaussin smoothing of the deformation field to enforce an elastic-like condition. The amount of smoothing is governed by a set of user defined standard deviations (one for each dimension).
In terms of memory, this filter keeps two internal buffers: one for storing the intermediate updates to the field and one for double-buffering when smoothing the deformation field. Both buffers are the same type and size as the output deformation field.
This class make use of the finite difference solver hierarchy. Update for each iteration is computed using a PDEDeformableRegistrationFunction.
- 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:
- PDEDeformableRegistrationFunction.
Definition at line 71 of file itkPDEDeformableRegistrationFilter.h.
Member Typedef Documentation
Constructor & Destructor Documentation
Member Function Documentation
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::CopyInputToOutput |
( |
|
) |
[protected, virtual] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GenerateInputRequestedRegion |
( |
|
) |
[protected, virtual] |
|
|
It is difficult to compute in advance the input moving image region required to compute the requested output region. Thus the safest thing to do is to request for the whole moving image.
For the fixed image and deformation field, the input requested region set to be the same as that of the output requested region.
Reimplemented from itk::FiniteDifferenceImageFilter< TDeformationField, TDeformationField >. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GenerateOutputInformation |
( |
|
) |
[protected, virtual] |
|
|
By default the output deformation field has the same Spacing, Origin and LargestPossibleRegion as the input/initial deformation field. If the initial deformation field is not set, the output information is copied from the fixed image.
Reimplemented from itk::ProcessObject. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual double itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetMaximumError |
( |
|
) |
[virtual] |
|
|
Set/Get the desired maximum error of the Guassian kernel approximate. - See also:
- GaussianOperator.
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual unsigned int itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetMaximumKernelWidth |
( |
|
) |
[virtual] |
|
|
Set/Get the desired limits of the Gaussian kernel width. - See also:
- GaussianOperator.
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual const char* itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetNameOfClass |
( |
|
) |
const [virtual] |
|
|
Get the number of valid inputs. For PDEDeformableRegistration, this checks whether the fixed and moving images have been set. While PDEDeformableRegistration can take a third input as an initial deformation field, this input is not a required input.
Reimplemented from itk::ProcessObject. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual bool itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetSmoothDeformationField |
( |
|
) |
[virtual] |
|
|
Set/Get whether the deformation field is smoothed (regularized). Smoothing the deformation yields a solution elastic in nature. If SmoothDeformationField is on, then the deformation field is smoothed with a Gaussian whose standard deviations are specified with SetStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual bool itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetSmoothUpdateField |
( |
|
) |
[virtual] |
|
|
Set/Get whether the update field is smoothed (regularized). Smoothing the update field yields a solution viscous in nature. If SmoothUpdateField is on, then the update field is smoothed with a Gaussian whose standard deviations are specified with SetUpdateFieldStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
const double* itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetStandardDeviations |
( |
void |
|
) |
[inline] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
const double* itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::GetUpdateFieldStandardDeviations |
( |
void |
|
) |
[inline] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual bool itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::Halt |
( |
|
) |
[inline, protected, virtual] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::Initialize |
( |
|
) |
[protected, virtual] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::InitializeIteration |
( |
|
) |
[protected, virtual] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::itkStaticConstMacro |
( |
ImageDimension |
, |
|
|
unsigned |
int, |
|
|
Superclass::ImageDimension |
|
|
) |
|
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::PostProcessOutput |
( |
|
) |
[protected, virtual] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::PrintSelf |
( |
std::ostream & |
os, |
|
|
Indent |
indent |
|
) |
const [protected, virtual] |
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetMaximumError |
( |
double |
_arg |
) |
[virtual] |
|
|
Set/Get the desired maximum error of the Guassian kernel approximate. - See also:
- GaussianOperator.
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetMaximumKernelWidth |
( |
unsigned int |
_arg |
) |
[virtual] |
|
|
Set/Get the desired limits of the Gaussian kernel width. - See also:
- GaussianOperator.
|
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetSmoothDeformationField |
( |
bool |
_arg |
) |
[virtual] |
|
|
Set/Get whether the deformation field is smoothed (regularized). Smoothing the deformation yields a solution elastic in nature. If SmoothDeformationField is on, then the deformation field is smoothed with a Gaussian whose standard deviations are specified with SetStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetSmoothUpdateField |
( |
bool |
_arg |
) |
[virtual] |
|
|
Set/Get whether the update field is smoothed (regularized). Smoothing the update field yields a solution viscous in nature. If SmoothUpdateField is on, then the update field is smoothed with a Gaussian whose standard deviations are specified with SetUpdateFieldStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetStandardDeviations |
( |
double |
value |
) |
[virtual] |
|
|
Set the Gaussian smoothing standard deviations for the deformation field. The values are set with respect to pixel coordinates. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetStandardDeviations |
( |
double |
data[] |
) |
[virtual] |
|
|
Set the Gaussian smoothing standard deviations for the deformation field. The values are set with respect to pixel coordinates. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetUpdateFieldStandardDeviations |
( |
double |
value |
) |
[virtual] |
|
|
Set the Gaussian smoothing standard deviations for the update field. The values are set with respect to pixel coordinates. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetUpdateFieldStandardDeviations |
( |
double |
data[] |
) |
[virtual] |
|
|
Set the Gaussian smoothing standard deviations for the update field. The values are set with respect to pixel coordinates. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SmoothDeformationField |
( |
|
) |
[protected, virtual] |
|
|
Utility to smooth the deformation field (represented in the Output) using a Guassian operator. The amount of smoothing can be specified by setting the StandardDeviations. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SmoothDeformationFieldOff |
( |
|
) |
[virtual] |
|
|
Set/Get whether the deformation field is smoothed (regularized). Smoothing the deformation yields a solution elastic in nature. If SmoothDeformationField is on, then the deformation field is smoothed with a Gaussian whose standard deviations are specified with SetStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SmoothDeformationFieldOn |
( |
|
) |
[virtual] |
|
|
Set/Get whether the deformation field is smoothed (regularized). Smoothing the deformation yields a solution elastic in nature. If SmoothDeformationField is on, then the deformation field is smoothed with a Gaussian whose standard deviations are specified with SetStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SmoothUpdateField |
( |
|
) |
[protected, virtual] |
|
|
Utility to smooth the UpdateBuffer using a Gaussian operator. The amount of smoothing can be specified by setting the UpdateFieldStandardDeviations. |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SmoothUpdateFieldOff |
( |
|
) |
[virtual] |
|
|
Set/Get whether the update field is smoothed (regularized). Smoothing the update field yields a solution viscous in nature. If SmoothUpdateField is on, then the update field is smoothed with a Gaussian whose standard deviations are specified with SetUpdateFieldStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SmoothUpdateFieldOn |
( |
|
) |
[virtual] |
|
|
Set/Get whether the update field is smoothed (regularized). Smoothing the update field yields a solution viscous in nature. If SmoothUpdateField is on, then the update field is smoothed with a Gaussian whose standard deviations are specified with SetUpdateFieldStandardDeviations() |
template<class TFixedImage, class TMovingImage, class TDeformationField> |
virtual void itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::StopRegistration |
( |
|
) |
[inline, virtual] |
|
The documentation for this class was generated from the following file:
Generated at Thu May 25 02:03:54 2006 for ITK by
1.3.5 written by Dimitri van Heesch,
© 1997-2000