ITK
4.11.0
Insight Segmentation and Registration Toolkit
|
#include <itkVariationalRegistrationMultiResolutionFilter.h>
Framework for performing multi-resolution variational registration.
VariationalRegistrationMultiResolutionFilter provides a generic framework to perform multi-resolution variational registration.
At each resolution level a VariationalRegistrationFilter is used to register two images by computing the deformation field which will map a moving image onto a fixed image.
A displacement field is represented as an 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.
The internal VariationalRegistrationFilter can be set using SetRegistrationFilter. By default the standard VariationalRegistrationFilter is used.
The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively.
The input and output of the filter can be set via SetInput() or SetInitialField() and is interpreted either as a displacement field (standard registration) or velocity field (diffeomorphic registration). The same is true for the outpur field returned by GetOutput() or GetOutputField(). However, GetDisplacementField() always returns the corresponding displacement field.
MultiResolutionPyramidImageFilter are used to downsample the fixed and moving images. A VectorExpandImageFilter is used to upsample the deformation as we move from a coarse to fine solution.
This class is templated over the fixed image type, the moving image type, and the Deformation Field type.
Definition at line 81 of file itkVariationalRegistrationMultiResolutionFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = FixedImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TDisplacementField > | |
static const unsigned int | OutputImageDimension |
Private Member Functions | |
void | operator= (const Self &) |
VariationalRegistrationMultiResolutionFilter (const Self &) | |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TDisplacementField, TDisplacementField > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::ImageSource< TDisplacementField > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::ConstPointer |
Definition at line 90 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef VariationalRegistrationFilter< FixedImageType, MovingImageType, DisplacementFieldType > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::DefaultRegistrationType |
The default registration type.
Definition at line 131 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef DisplacementFieldType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::DisplacementFieldPointer |
Definition at line 110 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef TDisplacementField itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::DisplacementFieldType |
Deformation field image type.
Definition at line 109 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef FieldExpanderType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FieldExpanderPointer |
Definition at line 151 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef VectorResampleImageFilter< DisplacementFieldType, DisplacementFieldType > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FieldExpanderType |
The deformation field expander type.
Definition at line 150 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef FixedImageType::ConstPointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FixedImageConstPointer |
Definition at line 101 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef FixedImageType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FixedImagePointer |
Definition at line 100 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef FixedImagePyramidType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FixedImagePyramidPointer |
Definition at line 136 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FixedImagePyramidType |
The fixed multi-resolution image pyramid type.
Definition at line 135 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef TFixedImage itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FixedImageType |
Fixed image type.
Definition at line 96 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef Image< TRealType, itkGetStaticConstMacro(ImageDimension) > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::FloatImageType |
Internal float image type.
Definition at line 122 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MaskImageType::ConstPointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MaskImageConstPointer |
Definition at line 119 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef unsigned char itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MaskImagePixelType |
MovingImage image type.
Definition at line 116 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MaskImageType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MaskImagePointer |
Definition at line 118 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MaskImagePyramidType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MaskImagePyramidPointer |
Definition at line 146 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MultiResolutionPyramidImageFilter< FloatImageType, FloatImageType > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MaskImagePyramidType |
The mask multi-resolution image pyramid type.
Definition at line 145 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef Image< MaskImagePixelType, ImageDimension > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MaskImageType |
Definition at line 117 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MovingImageType::ConstPointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MovingImageConstPointer |
Definition at line 106 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MovingImageType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MovingImagePointer |
Definition at line 105 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MovingImagePyramidType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MovingImagePyramidPointer |
Definition at line 141 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MovingImagePyramidType |
The moving multi-resolution image pyramid type.
Definition at line 140 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef TMovingImage itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::MovingImageType |
Moving image type.
Definition at line 104 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef Array< unsigned int > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::NumberOfIterationsType |
Array containing the number of iterations.
Definition at line 154 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef SmartPointer< Self > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::Pointer |
Definition at line 89 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef RegistrationType::Pointer itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::RegistrationPointer |
Definition at line 127 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef VariationalRegistrationFilter< FixedImageType, MovingImageType, DisplacementFieldType > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::RegistrationType |
The internal registration type.
Definition at line 126 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef VariationalRegistrationMultiResolutionFilter itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::Self |
Standard class typedefs
Definition at line 86 of file itkVariationalRegistrationMultiResolutionFilter.h.
typedef ImageToImageFilter< TDisplacementField, TDisplacementField > itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::Superclass |
Definition at line 88 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
protected |
|
inlineprotected |
Definition at line 255 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
|
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.
|
overrideprotectedvirtual |
The current implementation of this class does not supprot streaming. As such it produces the output for the largest possible region.
Reimplemented from itk::ProcessObject.
|
overrideprotectedvirtual |
Generate output data by performing the registration at each resolution level.
Reimplemented from itk::ImageSource< TDisplacementField >.
|
overrideprotectedvirtual |
The current implementation of this class does not support streaming. As such it requires the largest possible region for the moving, fixed and input deformation field.
Reimplemented from itk::ImageToImageFilter< TDisplacementField, TDisplacementField >.
|
overrideprotectedvirtual |
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.
|
virtual |
Get the number of elapsed resolution levels.
const FixedImageType* itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::GetFixedImage | ( | void | ) | const |
Get the fixed image.
|
inline |
Get the initial field. The field is either a displacement field (standard registration) or velocity field (diffeomorphic registration).
Definition at line 183 of file itkVariationalRegistrationMultiResolutionFilter.h.
References itk::ImageToImageFilter< TDisplacementField, TDisplacementField >::GetInput().
const MaskImageType* itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::GetMaskImage | ( | void | ) | const |
Get the mask image.
const MovingImageType* itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::GetMovingImage | ( | void | ) | const |
Get the moving image.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TDisplacementField, TDisplacementField >.
|
virtual |
Get number of iterations per multi-resolution levels.
|
virtual |
Get number of multi-resolution levels.
|
overridevirtual |
Get the number of valid inputs. For VariationalRegistrationMultiResolutionFilter, this checks whether the fixed and moving images have been set. While VariationalRegistrationMultiResolutionFilter can take a third input as an initial deformation field, this input is not a required input.
Reimplemented from itk::ProcessObject.
|
inline |
Get the output field. The field is either a displacement field (standard registration) or velocity field (diffeomorphic registration).
Definition at line 188 of file itkVariationalRegistrationMultiResolutionFilter.h.
References itk::ImageSource< TDisplacementField >::GetOutput().
|
protectedvirtual |
This method returns true to indicate that the registration should terminate at the current resolution level.
itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::itkGetObjectMacro | ( | DisplacementField | , |
DisplacementFieldType | |||
) |
Get the output displacement field provided by the registration filter.
itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::itkGetObjectMacro | ( | RegistrationFilter | , |
RegistrationType | |||
) |
Get the internal registration filter.
itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::itkGetObjectMacro | ( | FixedImagePyramid | , |
FixedImagePyramidType | |||
) |
Get the fixed image pyramid.
itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::itkGetObjectMacro | ( | MovingImagePyramid | , |
MovingImagePyramidType | |||
) |
Get the moving image pyramid.
itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::itkGetObjectMacro | ( | MaskImagePyramid | , |
MaskImagePyramidType | |||
) |
Get the mask image pyramid.
itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::itkGetObjectMacro | ( | FieldExpander | , |
FieldExpanderType | |||
) |
Get the moving image pyramid.
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
Print information about the filter.
Reimplemented from itk::ImageToImageFilter< TDisplacementField, TDisplacementField >.
|
virtual |
Set the moving image pyramid.
|
virtual |
Set the fixed image.
|
virtual |
Set the fixed image pyramid.
|
inlinevirtual |
Set initial field, which will be smoothed and scaled to the size of the coarsest level. The field is interpreted either as displacement field (standard registration) or velocity field (diffeomorphic registration).
Definition at line 178 of file itkVariationalRegistrationMultiResolutionFilter.h.
References itk::ImageToImageFilter< TDisplacementField, TDisplacementField >::SetInput().
void itk::VariationalRegistrationMultiResolutionFilter< TFixedImage, TMovingImage, TDisplacementField, TRealType >::SetMaskImage | ( | const MaskImageType * | ptr | ) |
Set the mask image.
|
virtual |
Set the mask image pyramid.
|
virtual |
Set the moving image.
|
virtual |
Set the moving image pyramid.
|
virtual |
Set number of iterations per multi-resolution levels.
|
virtual |
Set number of iterations per multi-resolution levels to the same value in each dimension.
|
virtual |
Set number of multi-resolution levels.
|
virtual |
Set the internal registration filter.
|
virtual |
Stop the registration after the current iteration.
|
static |
ImageDimension.
Definition at line 113 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 295 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 298 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 294 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 291 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 293 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 292 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 299 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 297 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Definition at line 290 of file itkVariationalRegistrationMultiResolutionFilter.h.
|
private |
Flag to indicate user stop registration request.
Definition at line 302 of file itkVariationalRegistrationMultiResolutionFilter.h.