ITK
6.0.0
Insight 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 () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Additional Inherited Members | |
Static Protected Member Functions inherited from itk::ProcessObject | |
template<typename TSourceObject > | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 81 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::DataObjectPointer = typename DataObject::Pointer |
Smart Pointer type to a DataObject.
Definition at line 135 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::DataObjectPointerArraySizeType = ProcessObject::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 224 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageConstPointer = typename FixedImageType::ConstPointer |
Definition at line 91 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImagePyramidPointer = typename FixedImagePyramidType::Pointer |
Definition at line 121 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImagePyramidType = MultiResolutionPyramidImageFilter<FixedImageType, FixedImageType> |
Type of the Fixed image multiresolution pyramid.
Definition at line 120 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageRegionType = typename FixedImageType::RegionType |
Definition at line 92 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageType = TFixedImage |
Type of the Fixed image.
Definition at line 90 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::InterpolatorPointer = typename InterpolatorType::Pointer |
Definition at line 114 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::InterpolatorType = typename MetricType::InterpolatorType |
Type of the Interpolator.
Definition at line 113 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MetricPointer = typename MetricType::Pointer |
Definition at line 100 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MetricType = ImageToImageMetric<FixedImageType, MovingImageType> |
Type of the metric.
Definition at line 99 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImageConstPointer = typename MovingImageType::ConstPointer |
Definition at line 96 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImagePyramidPointer = typename MovingImagePyramidType::Pointer |
Definition at line 128 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImagePyramidType = MultiResolutionPyramidImageFilter<MovingImageType, MovingImageType> |
Type of the moving image multiresolution pyramid.
Definition at line 127 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImageType = TMovingImage |
Type of the Moving image.
Definition at line 95 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::OptimizerType = SingleValuedNonLinearOptimizer |
Type of the optimizer.
Definition at line 117 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< 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 132 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 80 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ScheduleType = typename FixedImagePyramidType::ScheduleType |
Type of pyramid schedule type
Definition at line 124 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Self = MultiResolutionImageRegistrationMethod |
Standard class type aliases.
Definition at line 78 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Superclass = ProcessObject |
Definition at line 79 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputConstPointer = typename TransformOutputType::ConstPointer |
Definition at line 110 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputPointer = typename TransformOutputType::Pointer |
Definition at line 109 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< 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 108 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformPointer = typename TransformType::Pointer |
Definition at line 104 of file itkMultiResolutionImageRegistrationMethod.h.
using itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformType = typename MetricType::TransformType |
Type of the Transform .
Definition at line 103 of file itkMultiResolutionImageRegistrationMethod.h.
|
protected |
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
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 |
|
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 |
Get the last transformation parameters visited by the optimizer.
|
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 Transform.
|
virtual |
Set/Get the Moving image.
|
virtual |
|
overridevirtual |
Method to return the latest modified time of this object or any of its cached ivars
Reimplemented from itk::Object.
|
overridevirtual |
Reimplemented from itk::ProcessObject.
|
virtual |
const TransformOutputType* itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GetOutput | ( | ) | const |
Returns the transform resulting from the registration process
|
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
|
overridevirtual |
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.
|
protected |
Compute the size of the fixed region for each level of the pyramid.
|
overrideprotectedvirtual |
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 & | fixedImagePyramidSchedule, |
const ScheduleType & | movingImagePyramidSchedule | ||
) |
Set/Get the schedules for the fixed and moving image pyramid.
|
virtual |
Set/Get the Transform.
void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::StopRegistration | ( | ) |
Stop the registration.
|
private |
Definition at line 280 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 264 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 270 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 284 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 276 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 277 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 272 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 273 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 267 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 274 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 260 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 263 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 269 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 285 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 279 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 288 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 261 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 287 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 282 of file itkMultiResolutionImageRegistrationMethod.h.
|
private |
Definition at line 266 of file itkMultiResolutionImageRegistrationMethod.h.