ITK
4.1.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 StartRegistration(). 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 StartRegistration().
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.
typedef SmartPointer< const Self > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ConstPointer |
Reimplemented from itk::ProcessObject.
Definition at line 79 of file itkMultiResolutionImageRegistrationMethod.h.
typedef DataObject::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::DataObjectPointer |
Smart Pointer type to a DataObject.
Reimplemented from itk::ProcessObject.
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.
Reimplemented from itk::ProcessObject.
Definition at line 222 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 |
Reimplemented from itk::ProcessObject.
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.
Reimplemented from itk::ProcessObject.
Definition at line 76 of file itkMultiResolutionImageRegistrationMethod.h.
typedef ProcessObject itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Superclass |
Reimplemented from itk::ProcessObject.
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.
itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MultiResolutionImageRegistrationMethod | ( | ) | [protected] |
virtual itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::~MultiResolutionImageRegistrationMethod | ( | ) | [inline, protected, virtual] |
Definition at line 232 of file itkMultiResolutionImageRegistrationMethod.h.
itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MultiResolutionImageRegistrationMethod | ( | const Self & | ) | [private] |
Set the current level to be processed
virtual::itk::LightObject::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::CreateAnother | ( | void | ) | const [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.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GenerateData | ( | ) | [protected, virtual] |
Method invoked by the pipeline in order to trigger the computation of the registration.
Reimplemented from itk::ProcessObject.
virtual SizeValueType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetCurrentLevel | ( | ) | const [virtual] |
Get the current resolution level being processed.
virtual const FixedImageType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetFixedImage | ( | ) | [virtual] |
Set/Get the Fixed image.
virtual FixedImagePyramidType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetFixedImagePyramid | ( | ) | [virtual] |
Set/Get the Fixed image pyramid.
virtual ScheduleType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetFixedImagePyramidSchedule | ( | ) | const [virtual] |
virtual const FixedImageRegionType& itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetFixedImageRegion | ( | ) | [virtual] |
Set/Get the Metric.
virtual const ParametersType& itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetInitialTransformParameters | ( | ) | [virtual] |
Set/Get the initial transformation parameters.
virtual const ParametersType& itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetInitialTransformParametersOfNextLevel | ( | ) | [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 InterpolatorType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetInterpolator | ( | ) | [virtual] |
Set/Get the Interpolator.
virtual const ParametersType& itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetLastTransformParameters | ( | ) | [virtual] |
Get the last transformation parameters visited by the optimizer.
virtual MetricType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetMetric | ( | ) | [virtual] |
Set/Get the Metric.
virtual const MovingImageType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetMovingImage | ( | ) | [virtual] |
Set/Get the Moving image.
virtual MovingImagePyramidType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetMovingImagePyramid | ( | ) | [virtual] |
Set/Get the Moving image pyramid.
virtual ScheduleType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetMovingImagePyramidSchedule | ( | ) | const [virtual] |
unsigned long itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetMTime | ( | ) | const [virtual] |
Method to return the latest modified time of this object or any of its cached ivars
Reimplemented from itk::Object.
virtual const char* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
virtual SizeValueType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetNumberOfLevels | ( | ) | const [virtual] |
virtual OptimizerType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetOptimizer | ( | ) | [virtual] |
Set/Get the Optimizer.
const TransformOutputType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetOutput | ( | ) | const |
Returns the transform resulting from the registration process
virtual TransformType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetTransform | ( | ) | [virtual] |
Set/Get the Transfrom.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Initialize | ( | ) | throw ( ExceptionObject ) [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 DataObjectPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MakeOutput | ( | DataObjectPointerArraySizeType | idx | ) | [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 Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::operator= | ( | const Self & | ) | [private] |
Set the current level to be processed
Reimplemented from itk::ProcessObject.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::PreparePyramids | ( | void | ) | [protected] |
Compute the size of the fixed region for each level of the pyramid.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
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.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetCurrentLevel | ( | SizeValueType | _arg | ) | [protected, virtual] |
Set the current level to be processed
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetFixedImage | ( | const FixedImageType * | _arg | ) | [virtual] |
Set/Get the Fixed image.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetFixedImagePyramid | ( | FixedImagePyramidType * | _arg | ) | [virtual] |
Set/Get the Fixed image pyramid.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetFixedImageRegion | ( | FixedImageRegionType | _arg | ) | [virtual] |
Set/Get the Metric.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetInitialTransformParameters | ( | ParametersType | _arg | ) | [virtual] |
Set/Get the initial transformation parameters.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetInitialTransformParametersOfNextLevel | ( | ParametersType | _arg | ) | [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 void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetInterpolator | ( | InterpolatorType * | _arg | ) | [virtual] |
Set/Get the Interpolator.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetMetric | ( | MetricType * | _arg | ) | [virtual] |
Set/Get the Metric.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetMovingImage | ( | const MovingImageType * | _arg | ) | [virtual] |
Set/Get the Moving image.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetMovingImagePyramid | ( | MovingImagePyramidType * | _arg | ) | [virtual] |
Set/Get the Moving image pyramid.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetNumberOfLevels | ( | SizeValueType | numberOfLevels | ) |
Set/Get the number of multi-resolution levels.
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetOptimizer | ( | OptimizerType * | _arg | ) | [virtual] |
Set/Get the Optimizer.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetSchedules | ( | const ScheduleType & | fixedSchedule, |
const ScheduleType & | movingSchedule | ||
) |
Set/Get the schedules .
virtual void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::SetTransform | ( | TransformType * | _arg | ) | [virtual] |
Set/Get the Transfrom.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::StartRegistration | ( | ) |
Method that initiates the registration.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::StopRegistration | ( | ) |
Method to stop the registration.
SizeValueType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_CurrentLevel [private] |
Definition at line 279 of file itkMultiResolutionImageRegistrationMethod.h.
FixedImageConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_FixedImage [private] |
Definition at line 263 of file itkMultiResolutionImageRegistrationMethod.h.
FixedImagePyramidPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_FixedImagePyramid [private] |
Definition at line 269 of file itkMultiResolutionImageRegistrationMethod.h.
ScheduleType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_FixedImagePyramidSchedule [private] |
Definition at line 283 of file itkMultiResolutionImageRegistrationMethod.h.
FixedImageRegionType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_FixedImageRegion [private] |
Definition at line 275 of file itkMultiResolutionImageRegistrationMethod.h.
std::vector< FixedImageRegionType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_FixedImageRegionPyramid [private] |
Definition at line 276 of file itkMultiResolutionImageRegistrationMethod.h.
ParametersType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_InitialTransformParameters [private] |
Definition at line 271 of file itkMultiResolutionImageRegistrationMethod.h.
ParametersType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_InitialTransformParametersOfNextLevel [private] |
Definition at line 272 of file itkMultiResolutionImageRegistrationMethod.h.
InterpolatorPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_Interpolator [private] |
Definition at line 266 of file itkMultiResolutionImageRegistrationMethod.h.
ParametersType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_LastTransformParameters [private] |
Definition at line 273 of file itkMultiResolutionImageRegistrationMethod.h.
MetricPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_Metric [private] |
Definition at line 259 of file itkMultiResolutionImageRegistrationMethod.h.
MovingImageConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_MovingImage [private] |
Definition at line 262 of file itkMultiResolutionImageRegistrationMethod.h.
MovingImagePyramidPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_MovingImagePyramid [private] |
Definition at line 268 of file itkMultiResolutionImageRegistrationMethod.h.
ScheduleType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_MovingImagePyramidSchedule [private] |
Definition at line 284 of file itkMultiResolutionImageRegistrationMethod.h.
SizeValueType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_NumberOfLevels [private] |
Definition at line 278 of file itkMultiResolutionImageRegistrationMethod.h.
bool itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_NumberOfLevelsSpecified [private] |
Definition at line 287 of file itkMultiResolutionImageRegistrationMethod.h.
OptimizerType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_Optimizer [private] |
Definition at line 260 of file itkMultiResolutionImageRegistrationMethod.h.
bool itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_ScheduleSpecified [private] |
Definition at line 286 of file itkMultiResolutionImageRegistrationMethod.h.
bool itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_Stop [private] |
Definition at line 281 of file itkMultiResolutionImageRegistrationMethod.h.
TransformPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::m_Transform [private] |
Definition at line 265 of file itkMultiResolutionImageRegistrationMethod.h.