ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkMultiResolutionImageRegistrationMethod.h>
Base class for multi-resolution image registration methods.
This class provides a generic interface for multi-resolution registration using components of the registration framework. See documentation for ImageRegistrationMethod for a description of the registration framework components.
The registration process is initiated by method Update(). The user must set the parameters of each component before calling this method.
The number of resolution level to process can be set via SetNumberOfLevels(). At each resolution level, the user specified registration components are used to register downsampled version of the images by computing the transform parameters that will map one image onto the other image.
A user can specify schedules for the fixed and moving image using SetSchedules() method. However, SetNumberOfLevels() and SetSchedules() should not be used together. An exception will be thrown if that happens.
The downsampled images are provided by user specified MultiResolutionPyramidImageFilters. User must specify the schedule for each pyramid externally prior to calling Update().
Before each resolution level an IterationEvent is invoked providing an opportunity for a user interface to change any of the components, change component parameters, or stop the registration.
This class is templated over the fixed image type and the moving image type.
Definition at line 72 of file itkMultiResolutionImageRegistrationMethod.h.
Static Public Member Functions | |
static Pointer | New () |
Private Member Functions | |
MultiResolutionImageRegistrationMethod (const Self &) | |
void | operator= (const Self &) |
Additional Inherited Members | |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
typedef SmartPointer< const Self > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ConstPointer |
Definition at line 79 of file itkMultiResolutionImageRegistrationMethod.h.
typedef DataObject::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::DataObjectPointer |
Smart Pointer type to a DataObject.
Definition at line 133 of file itkMultiResolutionImageRegistrationMethod.h.
typedef ProcessObject::DataObjectPointerArraySizeType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 219 of file itkMultiResolutionImageRegistrationMethod.h.
typedef FixedImageType::ConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageConstPointer |
Definition at line 89 of file itkMultiResolutionImageRegistrationMethod.h.
typedef FixedImagePyramidType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImagePyramidPointer |
Definition at line 119 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImagePyramidType |
Type of the Fixed image multiresolution pyramid.
Definition at line 118 of file itkMultiResolutionImageRegistrationMethod.h.
typedef FixedImageType::RegionType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageRegionType |
Definition at line 90 of file itkMultiResolutionImageRegistrationMethod.h.
typedef TFixedImage itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageType |
Type of the Fixed image.
Definition at line 85 of file itkMultiResolutionImageRegistrationMethod.h.
typedef InterpolatorType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::InterpolatorPointer |
Definition at line 112 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MetricType::InterpolatorType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::InterpolatorType |
Type of the Interpolator.
Definition at line 111 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MetricType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MetricPointer |
Definition at line 98 of file itkMultiResolutionImageRegistrationMethod.h.
typedef ImageToImageMetric< FixedImageType, MovingImageType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MetricType |
Type of the metric.
Definition at line 97 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MovingImageType::ConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImageConstPointer |
Definition at line 94 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MovingImagePyramidType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImagePyramidPointer |
Definition at line 126 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImagePyramidType |
Type of the moving image multiresolution pyramid.
Definition at line 125 of file itkMultiResolutionImageRegistrationMethod.h.
typedef TMovingImage itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImageType |
Type of the Moving image.
Definition at line 93 of file itkMultiResolutionImageRegistrationMethod.h.
typedef SingleValuedNonLinearOptimizer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::OptimizerType |
Type of the optimizer.
Definition at line 115 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MetricType::TransformParametersType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ParametersType |
Type of the Transformation parameters This is the same type used to represent the search space of the optimization algorithm
Definition at line 130 of file itkMultiResolutionImageRegistrationMethod.h.
typedef SmartPointer< Self > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Pointer |
Definition at line 78 of file itkMultiResolutionImageRegistrationMethod.h.
typedef FixedImagePyramidType::ScheduleType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ScheduleType |
Type of pyramid schedule type
Definition at line 122 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MultiResolutionImageRegistrationMethod itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Definition at line 76 of file itkMultiResolutionImageRegistrationMethod.h.
typedef ProcessObject itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Superclass |
Definition at line 77 of file itkMultiResolutionImageRegistrationMethod.h.
typedef TransformOutputType::ConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputConstPointer |
Definition at line 108 of file itkMultiResolutionImageRegistrationMethod.h.
typedef TransformOutputType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputPointer |
Definition at line 107 of file itkMultiResolutionImageRegistrationMethod.h.
typedef DataObjectDecorator< TransformType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputType |
Type for the output: Using Decorator pattern for enabling the Transform to be passed in the data pipeline
Definition at line 106 of file itkMultiResolutionImageRegistrationMethod.h.
typedef TransformType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformPointer |
Definition at line 102 of file itkMultiResolutionImageRegistrationMethod.h.
typedef MetricType::TransformType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformType |
Type of the Transform .
Definition at line 101 of file itkMultiResolutionImageRegistrationMethod.h.
|
protected |
|
inlineprotectedvirtual |
Definition at line 244 of file itkMultiResolutionImageRegistrationMethod.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.
|
protectedvirtual |
Method invoked by the pipeline in order to trigger the computation of the registration.
Reimplemented from itk::ProcessObject.
|
virtual |
Get the current resolution level being processed.
|
virtual |
Set/Get the Fixed image.
|
virtual |
Set/Get the Fixed image pyramid.
|
virtual |
|
virtual |
Set/Get the Metric.
|
virtual |
Set/Get the initial transformation parameters.
|
virtual |
Set/Get the initial transformation parameters of the next resolution level to be processed. The default is the last set of parameters of the last resolution level.
|
virtual |
Set/Get the Interpolator.
|
virtual |
Get the last transformation parameters visited by the optimizer.
|
virtual |
Set/Get the Metric.
|
virtual |
Set/Get the Fixed image pyramid.
|
virtual |
Set/Get the Interpolator.
|
virtual |
Set/Get the Metric.
|
virtual |
Set/Get the Moving image pyramid.
|
virtual |
Set/Get the Optimizer.
|
virtual |
Set/Get the Transfrom.
|
virtual |
Set/Get the Moving image.
|
virtual |
Set/Get the Moving image pyramid.
|
virtual |
|
virtual |
Method to return the latest modified time of this object or any of its cached ivars
Reimplemented from itk::Object.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
|
virtual |
|
virtual |
Set/Get the Optimizer.
const TransformOutputType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetOutput | ( | ) | const |
Returns the transform resulting from the registration process
|
virtual |
Set/Get the Transfrom.
|
protected |
Initialize by setting the interconnects between the components. This method is executed at every level of the pyramid with the values corresponding to this resolution
|
virtual |
Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a itkSmartPointer to a DataObject. ImageSource and MeshSource override this method to create the correct type of image and mesh respectively. If a filter has multiple outputs of different types, then that filter must provide an implementation of MakeOutput().
Reimplemented from itk::ProcessObject.
|
static |
Method for creation through the object factory.
|
private |
|
protected |
Compute the size of the fixed region for each level of the pyramid.
|
protectedvirtual |
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::ProcessObject.
|
protectedvirtual |
Set the current level to be processed
|
virtual |
Set/Get the Fixed image.
|
virtual |
Set/Get the Fixed image pyramid.
|
virtual |
Set/Get the Metric.
|
virtual |
Set/Get the initial transformation parameters.
|
virtual |
Set/Get the initial transformation parameters of the next resolution level to be processed. The default is the last set of parameters of the last resolution level.
|
virtual |
Set/Get the Interpolator.
|
virtual |
Set/Get the Metric.
|
virtual |
Set/Get the Moving image.
|
virtual |
Set/Get the Moving image pyramid.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetNumberOfLevels | ( | SizeValueType | numberOfLevels | ) |
Set/Get the number of multi-resolution levels.
|
virtual |
Set/Get the Optimizer.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetSchedules | ( | const ScheduleType & | fixedSchedule, |
const ScheduleType & | movingSchedule | ||
) |
Set/Get the schedules .
|
virtual |
Set/Get the Transfrom.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::StopRegistration | ( | ) |
Method to stop the registration.
|
private |
Definition at line 291 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 275 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 281 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 295 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 287 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 288 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 283 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 284 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 278 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 285 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 271 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 274 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 280 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 296 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 290 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 299 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 272 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 298 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 293 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 277 of file itkMultiResolutionImageRegistrationMethod.h.