ITK
5.2.0
Insight Toolkit
|
#include <itkImageToSpatialObjectRegistrationMethod.h>
Base class for Image Registration Methods.
This class is templated over the type of the image and the type of the SpatialObject to be registered. A generic Transform is used by this class. That allows to select at run time the particular type of transformation that is to be applied for registering the images.
This method use a generic Metric in order to compare the two images. the final goal of the registration method is to find the set of parameters of the Transformation that optimizes the metric.
The registration method also support a generic optimizer that can be selected at run-time. The only restriction for the optimizer is that it should be able to operate in single-valued cost functions given that the metrics used to compare images provide a single value as output.
The terms : Fixed image and Moving SpatialObject are used in this class to indicate that the SpatialObject is being mapped by the transform.
This class uses the coordinate system of the Fixed image and searches for a transform that will map the Moving SpatialObject on top of the Fixed image. For doing so, a Metric will be continuously applied to compare the Fixed image with the Transformed Moving SpatialObject.
The ImageToSpatialObjectRegistrationMethod is different from the rest of the registration framework in ITK regarding the interpretation of the Transform with respect to the Fixed and Moving objects. In most of the ITK registration framework, the Transform computed by the optimizer is the one that maps points from the space of the Fixed object into the space of the Moving object. This direction of the transform is the one that makes easier to resample the Moving object into the space of the Fixed object.
In the particular case of the ImageToSpatialObject registration, the Transform to be computed is the one mapping points from the SpatialObject into the Image, despite the fact that the SpatialObject is called the "Moving" object and the image is called the "Fixed" object. This change of reference system is the consequence of using this type of registration in applications that are based on Visualization. In the context of such visualizations it is simpler to think in terms of the Transform that can be used for displaying the SpatialObject in the appropriate position with respect to the image. Since this process does not involve resampling, but providing a Transform to a visualization routine, it is usually more natural to use the Transform that maps points from the SpatialObject space the image space.
A full discussion of the Transform directions in the ITK registration framework can be found in the ITK Software Guide.
Definition at line 85 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::ConstPointer = SmartPointer<const Self> |
Definition at line 94 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::DataObjectPointer = typename DataObject::Pointer |
Smart Pointer type to a DataObject.
Definition at line 136 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::DataObjectPointerArraySizeType = ProcessObject::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 183 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::FixedImageConstPointer = typename FixedImageType::ConstPointer |
Definition at line 104 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::FixedImageType = TFixedImage |
Type of the Fixed image.
Definition at line 103 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::InterpolatorPointer = typename InterpolatorType::Pointer |
Definition at line 126 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::InterpolatorType = typename MetricType::InterpolatorType |
Type of the Interpolator.
Definition at line 125 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MetricPointer = typename MetricType::Pointer |
Definition at line 112 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MetricType = ImageToSpatialObjectMetric<FixedImageType, MovingSpatialObjectType> |
Type of the metric.
Definition at line 111 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MovingSpatialObjectConstPointer = typename MovingSpatialObjectType::ConstPointer |
Definition at line 108 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MovingSpatialObjectType = TMovingSpatialObject |
Type of the Moving image.
Definition at line 107 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::OptimizerType = SingleValuedNonLinearOptimizer |
Type of the optimizer.
Definition at line 129 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::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 133 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Pointer = SmartPointer<Self> |
Definition at line 93 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Self = ImageToSpatialObjectRegistrationMethod |
Standard class type aliases.
Definition at line 91 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Superclass = ProcessObject |
Definition at line 92 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformOutputConstPointer = typename TransformOutputType::ConstPointer |
Definition at line 122 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformOutputPointer = typename TransformOutputType::Pointer |
Definition at line 121 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformOutputType = DataObjectDecorator<TransformType> |
Type for the output: Using Decorator pattern for enabling the Transform to be passed in the data pipeline
Definition at line 120 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformPointer = typename TransformType::Pointer |
Definition at line 116 of file itkImageToSpatialObjectRegistrationMethod.h.
using itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformType = typename MetricType::TransformType |
Type of the Transform .
Definition at line 115 of file itkImageToSpatialObjectRegistrationMethod.h.
|
protected |
Make a DataObject of the correct type to be used as the specified output.
|
overrideprotecteddefault |
Make a DataObject of the correct type to be used as the specified output.
|
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 |
Method invoked by the pipeline in order to trigger the computation of the registration.
Reimplemented from itk::ProcessObject.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Get the last transformation parameters visited by the optimizer.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
overridevirtual |
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 |
Make a DataObject of the correct type to be used as the specified output.
const TransformOutputType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetOutput | ( | ) | const |
Returns the transform resulting from the registration process
|
virtual |
Make a DataObject of the correct type to be used as the specified output.
|
protected |
Initialize by setting the interconnects between the components.
|
overridevirtual |
Make a DataObject of the correct type to be used as the specified output.
Reimplemented from itk::ProcessObject.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Make a DataObject of the correct type to be used as the specified output.
Reimplemented from itk::ProcessObject.
|
virtual |
Set/Get the Fixed image.
|
virtual |
Set/Get the initial transformation parameters.
|
virtual |
Set/Get the Interpolator.
|
virtual |
Set/Get the Metric.
|
virtual |
Set/Get the Moving Spatial Object.
|
virtual |
Set/Get the Optimizer.
|
virtual |
Set/Get the Transfrom.
|
private |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 216 of file itkImageToSpatialObjectRegistrationMethod.h.
|
protected |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 208 of file itkImageToSpatialObjectRegistrationMethod.h.
|
private |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 219 of file itkImageToSpatialObjectRegistrationMethod.h.
|
protected |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 209 of file itkImageToSpatialObjectRegistrationMethod.h.
|
private |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 212 of file itkImageToSpatialObjectRegistrationMethod.h.
|
private |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 215 of file itkImageToSpatialObjectRegistrationMethod.h.
|
private |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 213 of file itkImageToSpatialObjectRegistrationMethod.h.
|
private |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 218 of file itkImageToSpatialObjectRegistrationMethod.h.