ITK
4.1.0
Insight Segmentation and Registration 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 searchs for a transform that will map the Moving SpatialObject on top of the Fixed image. For doing so, a Metric will be continously 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.
typedef SmartPointer< const Self > itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::ConstPointer |
Reimplemented from itk::ProcessObject.
Definition at line 92 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef DataObject::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::DataObjectPointer |
Smart Pointer type to a DataObject.
Reimplemented from itk::ProcessObject.
Definition at line 136 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef ProcessObject::DataObjectPointerArraySizeType itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to be used as the specified output.
Reimplemented from itk::ProcessObject.
Definition at line 185 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef FixedImageType::ConstPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::FixedImageConstPointer |
Definition at line 102 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef TFixedImage itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::FixedImageType |
Type of the Fixed image.
Definition at line 98 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef InterpolatorType::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::InterpolatorPointer |
Definition at line 126 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef MetricType::InterpolatorType itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::InterpolatorType |
Type of the Interpolator.
Definition at line 125 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef MetricType::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MetricPointer |
Definition at line 112 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef ImageToSpatialObjectMetric< FixedImageType, MovingSpatialObjectType > itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MetricType |
Type of the metric.
Definition at line 111 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef MovingSpatialObjectType::ConstPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MovingSpatialObjectConstPointer |
Definition at line 107 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef TMovingSpatialObject itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::MovingSpatialObjectType |
Type of the Moving image.
Definition at line 105 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef SingleValuedNonLinearOptimizer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::OptimizerType |
Type of the optimizer.
Definition at line 129 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef MetricType::TransformParametersType itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::ParametersType |
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.
typedef SmartPointer< Self > itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Pointer |
Reimplemented from itk::ProcessObject.
Definition at line 91 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef ImageToSpatialObjectRegistrationMethod itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Self |
Standard class typedefs.
Reimplemented from itk::ProcessObject.
Definition at line 89 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef ProcessObject itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Superclass |
Reimplemented from itk::ProcessObject.
Definition at line 90 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef TransformOutputType::ConstPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformOutputConstPointer |
Definition at line 122 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef TransformOutputType::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformOutputPointer |
Definition at line 121 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef DataObjectDecorator< TransformType > itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformOutputType |
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.
typedef TransformType::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformPointer |
Definition at line 116 of file itkImageToSpatialObjectRegistrationMethod.h.
typedef MetricType::TransformType itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::TransformType |
Type of the Transform .
Definition at line 115 of file itkImageToSpatialObjectRegistrationMethod.h.
itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::ImageToSpatialObjectRegistrationMethod | ( | ) | [protected] |
virtual itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::~ImageToSpatialObjectRegistrationMethod | ( | ) | [inline, protected, virtual] |
Definition at line 195 of file itkImageToSpatialObjectRegistrationMethod.h.
itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::ImageToSpatialObjectRegistrationMethod | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::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::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GenerateData | ( | ) | [protected, virtual] |
Method invoked by the pipeline in order to trigger the computation of the registration.
Reimplemented from itk::ProcessObject.
virtual const FixedImageType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetFixedImage | ( | ) | [virtual] |
Set/Get the Fixed image.
virtual const ParametersType& itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetInitialTransformParameters | ( | ) | [virtual] |
Set/Get the initial transformation parameters.
virtual InterpolatorType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetInterpolator | ( | ) | [virtual] |
Set/Get the Interpolator.
virtual const ParametersType& itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetLastTransformParameters | ( | ) | [virtual] |
Get the last transformation parameters visited by the optimizer.
virtual MetricType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetMetric | ( | ) | [virtual] |
Set/Get the Metric.
virtual const MovingSpatialObjectType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetMovingSpatialObject | ( | ) | [virtual] |
Set/Get the Moving Spatial Object.
unsigned long itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::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::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
virtual OptimizerType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetOptimizer | ( | ) | [virtual] |
Set/Get the Optimizer.
const TransformOutputType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetOutput | ( | ) | const |
Returns the transform resulting from the registration process
virtual TransformType* itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::GetTransform | ( | ) | [virtual] |
Set/Get the Transfrom.
void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::Initialize | ( | ) | throw ( ExceptionObject ) [protected] |
Initialize by setting the interconnects between the components.
virtual DataObjectPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::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::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::operator= | ( | const Self & | ) | [private] |
Time when GenerateOutputInformation was last called.
Reimplemented from itk::ProcessObject.
void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::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::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetFixedImage | ( | const FixedImageType * | _arg | ) | [virtual] |
Set/Get the Fixed image.
virtual void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetInitialTransformParameters | ( | ParametersType | _arg | ) | [virtual] |
Set/Get the initial transformation parameters.
virtual void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetInterpolator | ( | InterpolatorType * | _arg | ) | [virtual] |
Set/Get the Interpolator.
virtual void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetMetric | ( | MetricType * | _arg | ) | [virtual] |
Set/Get the Metric.
virtual void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetMovingSpatialObject | ( | const MovingSpatialObjectType * | _arg | ) | [virtual] |
Set/Get the Moving Spatial Object.
virtual void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetOptimizer | ( | OptimizerType * | _arg | ) | [virtual] |
Set/Get the Optimizer.
virtual void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::SetTransform | ( | TransformType * | _arg | ) | [virtual] |
Set/Get the Transfrom.
void itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::StartRegistration | ( | void | ) |
Method that initiates the registration.
FixedImageConstPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_FixedImage [private] |
Definition at line 218 of file itkImageToSpatialObjectRegistrationMethod.h.
ParametersType itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_InitialTransformParameters [protected] |
Definition at line 206 of file itkImageToSpatialObjectRegistrationMethod.h.
InterpolatorPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_Interpolator [private] |
Definition at line 221 of file itkImageToSpatialObjectRegistrationMethod.h.
ParametersType itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_LastTransformParameters [protected] |
Definition at line 207 of file itkImageToSpatialObjectRegistrationMethod.h.
MetricPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_Metric [private] |
Definition at line 214 of file itkImageToSpatialObjectRegistrationMethod.h.
MovingSpatialObjectConstPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_MovingSpatialObject [private] |
Definition at line 217 of file itkImageToSpatialObjectRegistrationMethod.h.
OptimizerType::Pointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_Optimizer [private] |
Definition at line 215 of file itkImageToSpatialObjectRegistrationMethod.h.
TransformPointer itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::m_Transform [private] |
Definition at line 220 of file itkImageToSpatialObjectRegistrationMethod.h.