#include <itkMultiResolutionImageRegistrationMethod2.h>
Base class for multi-resolution image registration methods.
This class is a slight modification of the original ITK class: MultiResolutionImageRegistrationMethod. Compared to that one, some variables are made protected, instead of private. Also, this class makes less assumptions about the image pyramids.
Original ITK documentation:
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.
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 97 of file itkMultiResolutionImageRegistrationMethod2.h.
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | DataObjectPointer = typename DataObject::Pointer |
using | FixedImageConstPointer = typename FixedImageType::ConstPointer |
using | FixedImagePyramidPointer = typename FixedImagePyramidType::Pointer |
using | FixedImagePyramidType = MultiResolutionPyramidImageFilter<FixedImageType, FixedImageType> |
using | FixedImageRegionPyramidType = std::vector<FixedImageRegionType> |
using | FixedImageRegionType = typename FixedImageType::RegionType |
using | FixedImageType = TFixedImage |
using | InterpolatorPointer = typename InterpolatorType::Pointer |
using | InterpolatorType = typename MetricType::InterpolatorType |
using | MetricPointer = typename MetricType::Pointer |
using | MetricType = AdvancedImageToImageMetric<FixedImageType, MovingImageType> |
using | MovingImageConstPointer = typename MovingImageType::ConstPointer |
using | MovingImagePyramidPointer = typename MovingImagePyramidType::Pointer |
using | MovingImagePyramidType = MultiResolutionPyramidImageFilter<MovingImageType, MovingImageType> |
using | MovingImageType = TMovingImage |
using | OptimizerType = SingleValuedNonLinearOptimizer |
using | ParametersType = typename MetricType::TransformParametersType |
using | Pointer = SmartPointer<Self> |
using | Self = MultiResolutionImageRegistrationMethod2 |
using | Superclass = ProcessObject |
using | TransformOutputConstPointer = typename TransformOutputType::ConstPointer |
using | TransformOutputPointer = typename TransformOutputType::Pointer |
using | TransformOutputType = DataObjectDecorator<TransformType> |
using | TransformPointer = typename TransformType::Pointer |
using | TransformType = typename MetricType::AdvancedTransformType |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
void | GenerateData () override |
virtual void | Initialize () |
MultiResolutionImageRegistrationMethod2 () | |
virtual void | PreparePyramids () |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetCurrentLevel (unsigned long _arg) |
~MultiResolutionImageRegistrationMethod2 () override=default | |
Protected Attributes | |
ParametersType | m_LastTransformParameters {} |
bool | m_Stop {} |
Private Attributes | |
unsigned long | m_CurrentLevel {} |
FixedImageConstPointer | m_FixedImage {} |
FixedImagePyramidPointer | m_FixedImagePyramid {} |
FixedImageRegionType | m_FixedImageRegion {} |
FixedImageRegionPyramidType | m_FixedImageRegionPyramid {} |
ParametersType | m_InitialTransformParameters {} |
ParametersType | m_InitialTransformParametersOfNextLevel {} |
InterpolatorPointer | m_Interpolator {} |
MetricPointer | m_Metric {} |
MovingImageConstPointer | m_MovingImage {} |
MovingImagePyramidPointer | m_MovingImagePyramid {} |
unsigned long | m_NumberOfLevels {} |
OptimizerType::Pointer | m_Optimizer {} |
TransformPointer | m_Transform {} |
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 106 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::DataObjectPointer = typename DataObject::Pointer |
Smart Pointer type to a DataObject.
Definition at line 160 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::FixedImageConstPointer = typename FixedImageType::ConstPointer |
Definition at line 116 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::FixedImagePyramidPointer = typename FixedImagePyramidType::Pointer |
Definition at line 148 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::FixedImagePyramidType = MultiResolutionPyramidImageFilter<FixedImageType, FixedImageType> |
Type of the Fixed image multiresolution pyramid.
Definition at line 147 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::FixedImageRegionPyramidType = std::vector<FixedImageRegionType> |
Definition at line 118 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::FixedImageRegionType = typename FixedImageType::RegionType |
Definition at line 117 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::FixedImageType = TFixedImage |
Type of the Fixed image.
Definition at line 115 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::InterpolatorPointer = typename InterpolatorType::Pointer |
Definition at line 141 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::InterpolatorType = typename MetricType::InterpolatorType |
Type of the Interpolator.
Definition at line 140 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::MetricPointer = typename MetricType::Pointer |
Definition at line 126 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::MetricType = AdvancedImageToImageMetric<FixedImageType, MovingImageType> |
Type of the metric.
Definition at line 125 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::MovingImageConstPointer = typename MovingImageType::ConstPointer |
Definition at line 122 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::MovingImagePyramidPointer = typename MovingImagePyramidType::Pointer |
Definition at line 152 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::MovingImagePyramidType = MultiResolutionPyramidImageFilter<MovingImageType, MovingImageType> |
Type of the moving image multiresolution pyramid.
Definition at line 151 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::MovingImageType = TMovingImage |
Type of the Moving image.
Definition at line 121 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::OptimizerType = SingleValuedNonLinearOptimizer |
Type of the optimizer.
Definition at line 144 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::ParametersType = typename MetricType::TransformParametersType |
Type of the Transformation parameters This is the same type used to represent the search space of the optimization algorithm.
Definition at line 157 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 105 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::Self = MultiResolutionImageRegistrationMethod2 |
Standard class typedefs.
Definition at line 103 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::Superclass = ProcessObject |
Definition at line 104 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::TransformOutputConstPointer = typename TransformOutputType::ConstPointer |
Definition at line 137 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::TransformOutputPointer = typename TransformOutputType::Pointer |
Definition at line 136 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::TransformOutputType = DataObjectDecorator<TransformType> |
Type for the output: Using Decorator pattern for enabling the Transform to be passed in the data pipeline.
Definition at line 135 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::TransformPointer = typename TransformType::Pointer |
Definition at line 130 of file itkMultiResolutionImageRegistrationMethod2.h.
using itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::TransformType = typename MetricType::AdvancedTransformType |
Type of the Transform .
Definition at line 129 of file itkMultiResolutionImageRegistrationMethod2.h.
|
protected |
Constructor.
|
overrideprotecteddefault |
Destructor.
|
overrideprotected |
Method invoked by the pipeline in order to trigger the computation of the registration.
|
virtual |
Run-time type information (and related methods).
Reimplemented in elastix::MultiMetricMultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistration< TElastix >, elastix::MultiResolutionRegistrationWithFeatures< TElastix >, itk::MultiInputMultiResolutionImageRegistrationMethodBase< TFixedImage, TMovingImage >, itk::MultiInputMultiResolutionImageRegistrationMethodBase< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >, itk::MultiMetricMultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >, itk::MultiResolutionImageRegistrationMethodWithFeatures< TFixedImage, TMovingImage >, and itk::MultiResolutionImageRegistrationMethodWithFeatures< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >.
|
virtual |
Get the current resolution level being processed.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Get the last transformation parameters visited by the optimizer.
|
virtual |
|
override |
Method to return the latest modified time of this object or any of its cached ivars.
|
virtual |
const TransformOutputType * itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::GetOutput | ( | ) | const |
Returns the transform resulting from the registration process.
|
protectedvirtual |
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
Reimplemented in itk::MultiInputMultiResolutionImageRegistrationMethodBase< TFixedImage, TMovingImage >, itk::MultiInputMultiResolutionImageRegistrationMethodBase< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >, itk::MultiMetricMultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, and itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >.
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage > | ) |
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::itkGetModifiableObjectMacro | ( | FixedImagePyramid | , |
FixedImagePyramidType | ) |
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::itkGetModifiableObjectMacro | ( | Interpolator | , |
InterpolatorType | ) |
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::itkGetModifiableObjectMacro | ( | Metric | , |
MetricType | ) |
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::itkGetModifiableObjectMacro | ( | MovingImagePyramid | , |
MovingImagePyramidType | ) |
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::itkGetModifiableObjectMacro | ( | Optimizer | , |
OptimizerType | ) |
itk::MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage >::itkGetModifiableObjectMacro | ( | Transform | , |
TransformType | ) |
|
override |
Make a DataObject of the correct type to be used as the specified output.
|
static |
Method for creation through the object factory.
|
protectedvirtual |
Compute the size of the fixed region for each level of the pyramid.
Reimplemented in itk::MultiInputMultiResolutionImageRegistrationMethodBase< TFixedImage, TMovingImage >, and itk::MultiInputMultiResolutionImageRegistrationMethodBase< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >.
|
overrideprotected |
PrintSelf.
|
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.
Reimplemented in itk::MultiInputMultiResolutionImageRegistrationMethodBase< TFixedImage, TMovingImage >, itk::MultiInputMultiResolutionImageRegistrationMethodBase< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >, itk::MultiMetricMultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, and itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType >.
|
virtual |
Set/Get the Moving image.
|
virtual |
Set/Get the Moving image pyramid.
|
virtual |
Set/Get the number of multi-resolution levels.
|
virtual |
Set/Get the Optimizer.
|
virtual |
Set/Get the Transform.
|
virtual |
Method that initiates the registration.
|
virtual |
Method to stop the registration.
|
private |
Definition at line 305 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 297 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 299 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 301 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 302 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 293 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 294 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 291 of file itkMultiResolutionImageRegistrationMethod2.h.
|
protected |
The last transform parameters. Compared to the ITK class itk::MultiResolutionImageRegistrationMethod these member variables are made protected, so they can be accessed by children classes.
Definition at line 280 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Member variables.
Definition at line 288 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 296 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 298 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 304 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 289 of file itkMultiResolutionImageRegistrationMethod2.h.
|
protected |
Definition at line 281 of file itkMultiResolutionImageRegistrationMethod2.h.
|
private |
Definition at line 290 of file itkMultiResolutionImageRegistrationMethod2.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |