ITK
4.3.0
Insight Segmentation and Registration Toolkit
|
#include <itkImageRegistrationMethodv4.h>
Interface method for the current registration framework.
This interface method class encapsulates typical registration usage by incorporating all the necessary elements for performing a simple image registration between two images. This method also allows for multistage registration whereby each stage is characterize by possibly different transforms of and different image metrics. For example, many users will want to perform a linear registration followed by deformable registration where both stages are performed in multiple levels. Each level can be characterized by:
Multiple stages are handled by linking multiple instantiations of this class where the output transform is added to the optional composite transform input.
Transform adaptors: To accommodate new changes to the current ITK registration framework, we introduced the concept of transform adaptors. Whereas each stage is associated with a moving and, possibly, fixed transform, each level of each stage is defined by a transform adaptor which describes how to adapt the transform to the current level. For example, if one were to use the B-spline transform during a deformable registration stage, common practice is to increase the resolution of the B-spline mesh (or, analogously, the control point grid size) at each level. At each level, one would define the parameters of the B-spline transform adaptor at that level which increases the resolution from the previous level. For many transforms, such as affine, this concept of an adaptor may be nonsensical. For this reason, the base transform adaptor class does not do anything to the transform but merely passes it through. Each level of each stage must define a transform adaptor but, by default, the base adaptor class is assigned which, again, does not do anything to the transform. A special mention should be made of the transform adaptor at level 0 of any stage. Most likely, the user will not want to do anything to the transform as it enters into the given stage so typical use will be to assign the base adaptor class to level 0 of all stages but we leave that open to the user.
Output: The output is the updated transform.
Definition at line 88 of file itkImageRegistrationMethodv4.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TFixedImage::ImageDimension |
Private Member Functions | |
ImageRegistrationMethodv4 (const Self &) | |
void | operator= (const Self &) |
Additional Inherited Members | |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
typedef CompositeTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::CompositeTransformPointer |
Definition at line 133 of file itkImageRegistrationMethodv4.h.
typedef CompositeTransform<RealType, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::CompositeTransformType |
Definition at line 132 of file itkImageRegistrationMethodv4.h.
typedef SmartPointer<const Self> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ConstPointer |
Definition at line 96 of file itkImageRegistrationMethodv4.h.
typedef ProcessObject::DataObjectPointerArraySizeType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 260 of file itkImageRegistrationMethodv4.h.
typedef DecoratedOutputTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformPointer |
Definition at line 140 of file itkImageRegistrationMethodv4.h.
typedef DataObjectDecorator<OutputTransformType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformType |
Type for the output: Using Decorator pattern for enabling the transform to be passed in the data pipeline
Definition at line 139 of file itkImageRegistrationMethodv4.h.
typedef OutputTransformType::DerivativeType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DerivativeType |
Definition at line 126 of file itkImageRegistrationMethodv4.h.
typedef DerivativeType::ValueType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DerivativeValueType |
Definition at line 127 of file itkImageRegistrationMethodv4.h.
typedef FixedImageType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImagePointer |
Definition at line 109 of file itkImageRegistrationMethodv4.h.
typedef std::vector<FixedImagePointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImagesContainerType |
Definition at line 110 of file itkImageRegistrationMethodv4.h.
typedef TFixedImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImageType |
Input typedefs for the images and transforms.
Definition at line 105 of file itkImageRegistrationMethodv4.h.
typedef ImageToImageMetricv4<FixedImageType, MovingImageType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ImageMetricType |
Definition at line 120 of file itkImageRegistrationMethodv4.h.
typedef InitialTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::InitialTransformPointer |
Definition at line 130 of file itkImageRegistrationMethodv4.h.
typedef Transform<RealType, ImageDimension, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::InitialTransformType |
Definition at line 129 of file itkImageRegistrationMethodv4.h.
typedef MetricType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricPointer |
Definition at line 117 of file itkImageRegistrationMethodv4.h.
typedef ImageMetricType::FixedSampledPointSetType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricSamplePointSetType |
Definition at line 159 of file itkImageRegistrationMethodv4.h.
typedef Array<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricSamplingPercentageArrayType |
Definition at line 145 of file itkImageRegistrationMethodv4.h.
typedef ObjectToObjectMetricBase itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricType |
Metric and transform typedefs
Definition at line 116 of file itkImageRegistrationMethodv4.h.
typedef MovingImageType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImagePointer |
Definition at line 112 of file itkImageRegistrationMethodv4.h.
typedef std::vector<MovingImagePointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImagesContainerType |
Definition at line 113 of file itkImageRegistrationMethodv4.h.
typedef TMovingImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImageType |
Definition at line 111 of file itkImageRegistrationMethodv4.h.
typedef ObjectToObjectMultiMetricv4<ImageDimension, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MultiMetricType |
Definition at line 119 of file itkImageRegistrationMethodv4.h.
typedef OptimizerType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OptimizerPointer |
Definition at line 154 of file itkImageRegistrationMethodv4.h.
typedef ObjectToObjectOptimizerBase itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OptimizerType |
Type of the optimizer.
Definition at line 153 of file itkImageRegistrationMethodv4.h.
typedef OutputTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformPointer |
Definition at line 124 of file itkImageRegistrationMethodv4.h.
typedef TOutputTransform itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformType |
Definition at line 123 of file itkImageRegistrationMethodv4.h.
typedef SmartPointer<Self> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Pointer |
Definition at line 95 of file itkImageRegistrationMethodv4.h.
typedef OutputTransformType::ScalarType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::RealType |
Definition at line 125 of file itkImageRegistrationMethodv4.h.
typedef ImageRegistrationMethodv4 itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Self |
Standard class typedefs.
Definition at line 93 of file itkImageRegistrationMethodv4.h.
typedef Array<SizeValueType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ShrinkFactorsArrayType |
array typedef
Definition at line 143 of file itkImageRegistrationMethodv4.h.
typedef Array<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SmoothingSigmasArrayType |
Definition at line 144 of file itkImageRegistrationMethodv4.h.
typedef ProcessObject itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Superclass |
Definition at line 94 of file itkImageRegistrationMethodv4.h.
typedef TransformParametersAdaptorType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TransformParametersAdaptorPointer |
Definition at line 149 of file itkImageRegistrationMethodv4.h.
typedef std::vector<TransformParametersAdaptorPointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TransformParametersAdaptorsContainerType |
Definition at line 150 of file itkImageRegistrationMethodv4.h.
typedef TransformParametersAdaptor<OutputTransformType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TransformParametersAdaptorType |
Transform adaptor typedefs
Definition at line 148 of file itkImageRegistrationMethodv4.h.
typedef ImageMetricType::VirtualImageType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::VirtualImageType |
Definition at line 121 of file itkImageRegistrationMethodv4.h.
enum itk::ImageRegistrationMethodv4::MetricSamplingStrategyType |
enum type for metric sampling strategy
Definition at line 157 of file itkImageRegistrationMethodv4.h.
|
protected |
|
protectedvirtual |
|
private |
|
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.
Reimplemented in itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >, and itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
protectedvirtual |
Perform the registration.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, and itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Get the current convergence value. This is a helper function for reporting observations.
|
virtual |
Get the current iteration. This is a helper function for reporting observations.
|
virtual |
Get the current level. This is a helper function for reporting observations.
|
virtual |
|
inlinevirtual |
Set/get the fixed images.
Definition at line 166 of file itkImageRegistrationMethodv4.h.
|
virtual |
Set/get the fixed images.
|
virtual |
Set/Get the initial fixed transform.
|
virtual |
Get the current convergence state per level. This is a helper function for reporting observations.
|
virtual |
Set/Get the metric.
|
virtual |
Set the metric sampling percentage.
|
virtual |
Set/Get the metric sampling strategy.
|
inlinevirtual |
Set the moving images.
Definition at line 179 of file itkImageRegistrationMethodv4.h.
|
virtual |
Set the moving images.
|
virtual |
Set/Get the initial moving transform.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
Reimplemented in itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >, itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, and itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
virtual |
Set/Get the number of multi-resolution levels. In setting the number of levels we need to set the following for each level:
|
virtual |
Set/Get the optimizer.
|
virtual |
Returns the transform resulting from the registration process
|
virtual |
Set/Get the shrink factors for each level. At each resolution level, the itkShrinkImageFilter
is called. For a 256x256 image, a shrink factor of 2 reduces the image to 128x128.
|
virtual |
Set/Get whether to specify the smoothing sigmas for each level in physical units (default) or in terms of voxels.
|
virtual |
Set/Get the smoothing sigmas for each level. At each resolution level, a gaussian smoothing filter (specifically, the itkDiscreteGaussianImageFilter
) is applied. Sigma values are specified according to the option m_SmoothingSigmasAreSpecifiedInPhysicalUnits
.
const TransformParametersAdaptorsContainerType& itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::GetTransformParametersAdaptorsPerLevel | ( | ) | const |
Set/Get the transform adaptors.
|
protectedvirtual |
Initialize by setting the interconnects between the components.
Reimplemented in itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, and itk::BSplineSyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >.
|
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 |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
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.
Reimplemented in itk::SyNImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, itk::TimeVaryingBSplineVelocityFieldImageRegistrationMethod< TFixedImage, TMovingImage, TOutputTransform >, and itk::TimeVaryingVelocityFieldImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >.
|
inlinevirtual |
Set/get the fixed images.
Definition at line 162 of file itkImageRegistrationMethodv4.h.
|
virtual |
Set/get the fixed images.
|
virtual |
Set/Get the initial fixed transform.
|
virtual |
Set/Get the metric.
|
protectedvirtual |
Get metric samples.
void itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetMetricSamplingPercentage | ( | const RealType | ) |
Set the metric sampling percentage.
|
virtual |
Set the metric sampling percentage.
|
virtual |
Set/Get the metric sampling strategy.
|
inlinevirtual |
Set the moving images.
Definition at line 175 of file itkImageRegistrationMethodv4.h.
|
virtual |
Set the moving images.
|
virtual |
Set/Get the initial moving transform.
void itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetNumberOfLevels | ( | const SizeValueType | ) |
Set/Get the number of multi-resolution levels. In setting the number of levels we need to set the following for each level:
|
virtual |
Set/Get the optimizer.
|
virtual |
Set/Get the shrink factors for each level. At each resolution level, the itkShrinkImageFilter
is called. For a 256x256 image, a shrink factor of 2 reduces the image to 128x128.
|
virtual |
Set/Get whether to specify the smoothing sigmas for each level in physical units (default) or in terms of voxels.
|
virtual |
Set/Get the smoothing sigmas for each level. At each resolution level, a gaussian smoothing filter (specifically, the itkDiscreteGaussianImageFilter
) is applied. Sigma values are specified according to the option m_SmoothingSigmasAreSpecifiedInPhysicalUnits
.
void itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetTransformParametersAdaptorsPerLevel | ( | TransformParametersAdaptorsContainerType & | ) |
Set/Get the transform adaptors.
|
virtual |
Set/Get whether to specify the smoothing sigmas for each level in physical units (default) or in terms of voxels.
|
virtual |
Set/Get whether to specify the smoothing sigmas for each level in physical units (default) or in terms of voxels.
|
static |
ImageDimension constants
Definition at line 102 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 346 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 323 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 321 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 319 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 322 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 342 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 326 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 324 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 333 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 335 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 334 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 341 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 327 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 328 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 320 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 329 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 331 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 348 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 337 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 339 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 338 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 344 of file itkImageRegistrationMethodv4.h.