ITK
4.4.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 89 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 134 of file itkImageRegistrationMethodv4.h.
typedef CompositeTransform<RealType, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::CompositeTransformType |
Definition at line 133 of file itkImageRegistrationMethodv4.h.
typedef SmartPointer<const Self> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ConstPointer |
Definition at line 97 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 300 of file itkImageRegistrationMethodv4.h.
typedef DecoratedOutputTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DecoratedOutputTransformPointer |
Definition at line 141 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 140 of file itkImageRegistrationMethodv4.h.
typedef OutputTransformType::DerivativeType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DerivativeType |
Definition at line 127 of file itkImageRegistrationMethodv4.h.
typedef DerivativeType::ValueType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::DerivativeValueType |
Definition at line 128 of file itkImageRegistrationMethodv4.h.
typedef FixedImageType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImagePointer |
Definition at line 110 of file itkImageRegistrationMethodv4.h.
typedef std::vector<FixedImagePointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImagesContainerType |
Definition at line 111 of file itkImageRegistrationMethodv4.h.
typedef TFixedImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::FixedImageType |
Input typedefs for the images and transforms.
Definition at line 106 of file itkImageRegistrationMethodv4.h.
typedef ImageToImageMetricv4<FixedImageType, MovingImageType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ImageMetricType |
Definition at line 121 of file itkImageRegistrationMethodv4.h.
typedef InitialTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::InitialTransformPointer |
Definition at line 131 of file itkImageRegistrationMethodv4.h.
typedef Transform<RealType, ImageDimension, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::InitialTransformType |
Definition at line 130 of file itkImageRegistrationMethodv4.h.
typedef MetricType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricPointer |
Definition at line 118 of file itkImageRegistrationMethodv4.h.
typedef ImageMetricType::FixedSampledPointSetType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricSamplePointSetType |
Definition at line 163 of file itkImageRegistrationMethodv4.h.
typedef Array<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricSamplingPercentageArrayType |
Definition at line 149 of file itkImageRegistrationMethodv4.h.
typedef ObjectToObjectMetricBase itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MetricType |
Metric and transform typedefs
Definition at line 117 of file itkImageRegistrationMethodv4.h.
typedef MovingImageType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImagePointer |
Definition at line 113 of file itkImageRegistrationMethodv4.h.
typedef std::vector<MovingImagePointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImagesContainerType |
Definition at line 114 of file itkImageRegistrationMethodv4.h.
typedef TMovingImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MovingImageType |
Definition at line 112 of file itkImageRegistrationMethodv4.h.
typedef ObjectToObjectMultiMetricv4<ImageDimension, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::MultiMetricType |
Definition at line 120 of file itkImageRegistrationMethodv4.h.
typedef OptimizerType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OptimizerPointer |
Definition at line 158 of file itkImageRegistrationMethodv4.h.
typedef ObjectToObjectOptimizerBase itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OptimizerType |
Type of the optimizer.
Definition at line 157 of file itkImageRegistrationMethodv4.h.
typedef OutputTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformPointer |
Definition at line 125 of file itkImageRegistrationMethodv4.h.
typedef TOutputTransform itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::OutputTransformType |
Definition at line 124 of file itkImageRegistrationMethodv4.h.
typedef SmartPointer<Self> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Pointer |
Definition at line 96 of file itkImageRegistrationMethodv4.h.
typedef OutputTransformType::ScalarType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::RealType |
Definition at line 126 of file itkImageRegistrationMethodv4.h.
typedef ImageRegistrationMethodv4 itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Self |
Standard class typedefs.
Definition at line 94 of file itkImageRegistrationMethodv4.h.
typedef Array<SizeValueType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ShrinkFactorsArrayType |
Definition at line 146 of file itkImageRegistrationMethodv4.h.
typedef ShrinkFilterType::ShrinkFactorsType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ShrinkFactorsPerDimensionContainerType |
Definition at line 144 of file itkImageRegistrationMethodv4.h.
typedef ShrinkImageFilter<FixedImageType, VirtualImageType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::ShrinkFilterType |
Definition at line 143 of file itkImageRegistrationMethodv4.h.
typedef Array<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SmoothingSigmasArrayType |
Definition at line 148 of file itkImageRegistrationMethodv4.h.
typedef ProcessObject itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::Superclass |
Definition at line 95 of file itkImageRegistrationMethodv4.h.
typedef TransformParametersAdaptorType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TransformParametersAdaptorPointer |
Definition at line 153 of file itkImageRegistrationMethodv4.h.
typedef std::vector<TransformParametersAdaptorPointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TransformParametersAdaptorsContainerType |
Definition at line 154 of file itkImageRegistrationMethodv4.h.
typedef TransformParametersAdaptor<OutputTransformType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::TransformParametersAdaptorType |
Transform adaptor typedefs
Definition at line 152 of file itkImageRegistrationMethodv4.h.
typedef ImageMetricType::VirtualImageType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::VirtualImageType |
Definition at line 122 of file itkImageRegistrationMethodv4.h.
enum itk::ImageRegistrationMethodv4::MetricSamplingStrategyType |
enum type for metric sampling strategy
Enumerator | |
---|---|
NONE | |
REGULAR | |
RANDOM |
Definition at line 161 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 170 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.
|
virtual |
Set/Get the initial fixed transform.
|
virtual |
Set/Get the metric.
|
virtual |
Set/Get the initial moving transform.
|
virtual |
Set/Get the optimizer.
|
inlinevirtual |
Set the moving images.
Definition at line 183 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
|
inline |
Get the shrink factors for a specific level.
Definition at line 261 of file itkImageRegistrationMethodv4.h.
|
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 166 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 179 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.
|
inline |
Set the shrink factors for a specific level for each dimension.
Definition at line 274 of file itkImageRegistrationMethodv4.h.
|
inline |
Set the shrink factors for each level where each level has a constant shrink factor for each dimension. For example, input to the function of factors = [4,2,1] will shrink the image in every dimension by 4 the first level, then by 2 at the second level, then the original resolution for the final level (uses the itkShrinkImageFilter
).
Definition at line 247 of file itkImageRegistrationMethodv4.h.
References itk::FixedArray< TValueType, VLength >::Fill(), and itk::Array< TValueType >::Size().
|
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 103 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 386 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 363 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 361 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 359 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 362 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 382 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 366 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 364 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 373 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 375 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 374 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 381 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 367 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 368 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 360 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 369 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 371 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 388 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 377 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 379 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 378 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 384 of file itkImageRegistrationMethodv4.h.