![]() |
ITK
4.5.0
Insight Segmentation and Registration Toolkit
|
#include <itkImageRegistrationMethodv4.h>
Inheritance diagram for itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >:
Collaboration diagram for itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >: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 Member Functions inherited from itk::Object | |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
| static void | BreakOnError () |
| 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, TVirtualImage >::CompositeTransformPointer |
Definition at line 127 of file itkImageRegistrationMethodv4.h.
| typedef CompositeTransform<RealType, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::CompositeTransformType |
Definition at line 126 of file itkImageRegistrationMethodv4.h.
| typedef SmartPointer<const Self> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::ConstPointer |
Definition at line 97 of file itkImageRegistrationMethodv4.h.
| typedef ProcessObject::DataObjectPointerArraySizeType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to be used as the specified output.
Definition at line 316 of file itkImageRegistrationMethodv4.h.
| typedef DecoratedOutputTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::DecoratedOutputTransformPointer |
Definition at line 142 of file itkImageRegistrationMethodv4.h.
| typedef DataObjectDecorator<OutputTransformType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::DecoratedOutputTransformType |
Type for the output: Using Decorator pattern for enabling the transform to be passed in the data pipeline
Definition at line 141 of file itkImageRegistrationMethodv4.h.
| typedef OutputTransformType::DerivativeType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::DerivativeType |
Definition at line 120 of file itkImageRegistrationMethodv4.h.
| typedef DerivativeType::ValueType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::DerivativeValueType |
Definition at line 121 of file itkImageRegistrationMethodv4.h.
| typedef FixedImageType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::FixedImagePointer |
Definition at line 110 of file itkImageRegistrationMethodv4.h.
| typedef std::vector<FixedImagePointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::FixedImagesContainerType |
Definition at line 111 of file itkImageRegistrationMethodv4.h.
| typedef TFixedImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::FixedImageType |
Input typedefs for the images and transforms.
Definition at line 106 of file itkImageRegistrationMethodv4.h.
| typedef ImageToImageMetricv4<FixedImageType, MovingImageType, VirtualImageType, RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::ImageMetricType |
Definition at line 135 of file itkImageRegistrationMethodv4.h.
| typedef InitialTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::InitialTransformPointer |
Definition at line 124 of file itkImageRegistrationMethodv4.h.
| typedef Transform<RealType, ImageDimension, ImageDimension> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::InitialTransformType |
Definition at line 123 of file itkImageRegistrationMethodv4.h.
| typedef MetricType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MetricPointer |
Definition at line 130 of file itkImageRegistrationMethodv4.h.
| typedef ImageMetricType::FixedSampledPointSetType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MetricSamplePointSetType |
Definition at line 167 of file itkImageRegistrationMethodv4.h.
| typedef Array<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MetricSamplingPercentageArrayType |
Definition at line 150 of file itkImageRegistrationMethodv4.h.
| typedef ObjectToObjectMetricBaseTemplate<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MetricType |
Definition at line 129 of file itkImageRegistrationMethodv4.h.
| typedef MovingImageType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MovingImagePointer |
Definition at line 113 of file itkImageRegistrationMethodv4.h.
| typedef std::vector<MovingImagePointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MovingImagesContainerType |
Definition at line 114 of file itkImageRegistrationMethodv4.h.
| typedef TMovingImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MovingImageType |
Definition at line 112 of file itkImageRegistrationMethodv4.h.
| typedef ObjectToObjectMultiMetricv4<ImageDimension, ImageDimension, VirtualImageType, RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::MultiMetricType |
Definition at line 134 of file itkImageRegistrationMethodv4.h.
| typedef OptimizerType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::OptimizerPointer |
Definition at line 159 of file itkImageRegistrationMethodv4.h.
| typedef ObjectToObjectOptimizerBaseTemplate<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::OptimizerType |
Type of the optimizer.
Definition at line 158 of file itkImageRegistrationMethodv4.h.
| typedef OptimizerType::ScalesType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::OptimizerWeightsType |
Weights type for the optimizer.
Definition at line 162 of file itkImageRegistrationMethodv4.h.
| typedef OutputTransformType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::OutputTransformPointer |
Definition at line 118 of file itkImageRegistrationMethodv4.h.
| typedef TOutputTransform itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::OutputTransformType |
Metric and transform typedefs
Definition at line 117 of file itkImageRegistrationMethodv4.h.
| typedef SmartPointer<Self> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::Pointer |
Definition at line 96 of file itkImageRegistrationMethodv4.h.
| typedef OutputTransformType::ScalarType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::RealType |
Definition at line 119 of file itkImageRegistrationMethodv4.h.
| typedef ImageRegistrationMethodv4 itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::Self |
Standard class typedefs.
Definition at line 94 of file itkImageRegistrationMethodv4.h.
| typedef Array<SizeValueType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::ShrinkFactorsArrayType |
Definition at line 147 of file itkImageRegistrationMethodv4.h.
| typedef ShrinkFilterType::ShrinkFactorsType itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::ShrinkFactorsPerDimensionContainerType |
Definition at line 145 of file itkImageRegistrationMethodv4.h.
| typedef ShrinkImageFilter<FixedImageType, VirtualImageType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::ShrinkFilterType |
Definition at line 144 of file itkImageRegistrationMethodv4.h.
| typedef Array<RealType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::SmoothingSigmasArrayType |
Definition at line 149 of file itkImageRegistrationMethodv4.h.
| typedef ProcessObject itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::Superclass |
Definition at line 95 of file itkImageRegistrationMethodv4.h.
| typedef TransformParametersAdaptorType::Pointer itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::TransformParametersAdaptorPointer |
Definition at line 154 of file itkImageRegistrationMethodv4.h.
| typedef std::vector<TransformParametersAdaptorPointer> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::TransformParametersAdaptorsContainerType |
Definition at line 155 of file itkImageRegistrationMethodv4.h.
| typedef TransformParametersAdaptor<OutputTransformType> itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::TransformParametersAdaptorType |
Transform adaptor typedefs
Definition at line 153 of file itkImageRegistrationMethodv4.h.
| typedef TVirtualImage itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::VirtualImageType |
Definition at line 132 of file itkImageRegistrationMethodv4.h.
| enum itk::ImageRegistrationMethodv4::MetricSamplingStrategyType |
enum type for metric sampling strategy
| Enumerator | |
|---|---|
| NONE | |
| REGULAR | |
| RANDOM | |
Definition at line 165 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.
|
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 174 of file itkImageRegistrationMethodv4.h.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::GetFixedImage().
|
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 187 of file itkImageRegistrationMethodv4.h.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::GetMovingImage().
|
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 |
Set/Get the optimizer weights. Allows setting of a per-local-parameter weighting array. If unset, the weights are treated as identity. Weights are used to mask out a particular parameter during optimzation to hold it constant. Or they may be used to apply another kind of prior knowledge. The size of the weights must be equal to the number of the local transformation parameters.
|
virtual |
Returns the transform resulting from the registration process
|
inline |
Get the shrink factors for a specific level.
Definition at line 277 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, TVirtualImage >::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 170 of file itkImageRegistrationMethodv4.h.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetFixedImage().
|
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, TVirtualImage >::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 183 of file itkImageRegistrationMethodv4.h.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetMovingImage().
|
virtual |
Set the moving images.
|
virtual |
Set/Get the initial moving transform.
| void itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::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.
| void itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::SetOptimizerWeights | ( | OptimizerWeightsType & | ) |
Set/Get the optimizer weights. Allows setting of a per-local-parameter weighting array. If unset, the weights are treated as identity. Weights are used to mask out a particular parameter during optimzation to hold it constant. Or they may be used to apply another kind of prior knowledge. The size of the weights must be equal to the number of the local transformation parameters.
|
inline |
Set the shrink factors for a specific level for each dimension.
Definition at line 290 of file itkImageRegistrationMethodv4.h.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetShrinkFactorsPerLevel().
|
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 263 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.
| void itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage >::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 404 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 379 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 377 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 375 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 378 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 400 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 382 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 380 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 391 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 393 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 392 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 399 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 383 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 384 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 376 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 385 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 387 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 388 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 389 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 406 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 395 of file itkImageRegistrationMethodv4.h.
Referenced by itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::GetShrinkFactorsPerDimension(), and itk::ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform >::SetShrinkFactorsPerDimension().
|
protected |
Definition at line 397 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 396 of file itkImageRegistrationMethodv4.h.
|
protected |
Definition at line 402 of file itkImageRegistrationMethodv4.h.
1.8.5