Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxMultiMetricMultiResolutionRegistration.h>
A registration framework based on the itk::MultiMetricMultiResolutionImageRegistrationMethod.
This MultiMetricMultiResolutionRegistration gives a framework for registration with a multi-resolution approach, using multiple metrics. The metrics can use the same pair of images/image pyramids/interpolators /masks, but also different pairs of fixed/moving images etc. If the metrics use the same moving image and the same moving image pyramid, they can use the same interpolator. If multiple moving images are used, enter multiple interpolators, possibly of the same type: Like this for example:
(Interpolator "BSplineInterpolator" "BSplineInterpolator")
For each metric a different instance of an image sampler can be used:
(ImageSampler "Random" "Random")
or:
(ImageSampler "Random" "Full")
Note, that the number of metrics should always be larger than or equal to the number of fixed/moving images, interpolators, image pyramids etc. Also, when all metrics need an image sampler, for each fixed image pyramid, an image sampler must be provided. In some cases, one sampler can be used for all metrics. This is the case when multiple metrics are desired, but
The parameters used in this class are:
Registration: Select this registration framework as follows:
(Registration "MultiMetricMultiResolutionRegistration")
NumberOfResolutions: the number of resolutions used.
example: (NumberOfResolutions 4)
The default is 3.
Metric<i>Weight: The weight for the i-th metric, in each resolution.
example: (Metric0Weight 0.5 0.5 0.8)
example: (Metric1Weight 0.5 0.5 0.2)
The default is 1 / numberOfMetrics.
Metric<i>RelativeWeight: The relative weight for the i-th metric, in each resolution.
This is an alternative to the default Metric<i>Weight and can be selected with the parameter UseRelativeWeights. The weight is computed in each iteration based on the magnitude of the metric derivative (gradient) related to that of the first metric . It is done such that the fraction is identical to , so
example: (Metric0RelativeWeight 0.5 0.5 0.8)
example: (Metric1RelativeWeight 0.5 0.5 0.2)
The default is 1 / numberOfMetrics.
UseRelativeWeights: Whether relative weights are used or simple static, fixed weights.
example: (UseRelativeWeights "false" "true")
The default is "false", which means using Metric<i>Weight.
Metric<i>Use: Whether the i-th metric is only computed or also used, in each resolution.
example: (Metric0Use "false" "true")
example: (Metric1Use "true" "false")
The default is "true".
Definition at line 96 of file elxMultiMetricMultiResolutionRegistration.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MultiMetricMultiResolutionImageRegistrationMethod< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::MultiResolutionImageRegistrationMethod2< RegistrationBase< TElastix >::FixedImageType, RegistrationBase< TElastix >::MovingImageType > | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
static std::string | ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Private Member Functions | |
MultiMetricMultiResolutionRegistration (const Self &) | |
void | operator= (const Self &) |
typedef Superclass1::CombinationMetricPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::CombinationMetricPointer |
Definition at line 174 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::CombinationMetricType elastix::MultiMetricMultiResolutionRegistration< TElastix >::CombinationMetricType |
The CombinationMetric type, which is used internally by the Superclass1.
Definition at line 173 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::ConfigurationPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::ConfigurationPointer |
Definition at line 180 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::ConfigurationType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ConfigurationType |
Definition at line 179 of file elxMultiMetricMultiResolutionRegistration.h.
typedef itk::SmartPointer< const Self > elastix::MultiMetricMultiResolutionRegistration< TElastix >::ConstPointer |
Definition at line 117 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::ElastixPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::ElastixPointer |
Definition at line 178 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::ElastixType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ElastixType |
Typedef's from Elastix.
Definition at line 177 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::FixedImageConstPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImageConstPointer |
Definition at line 136 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::FixedImagePyramidPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImagePyramidPointer |
Definition at line 161 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::FixedImagePyramidType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImagePyramidType |
Type of the Fixed image multiresolution pyramid.
Definition at line 160 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::FixedImageRegionType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImageRegionType |
Definition at line 137 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::FixedImageType elastix::MultiMetricMultiResolutionRegistration< TElastix >::FixedImageType |
Typedef's inherited from Superclass1. Type of the Fixed image.
Definition at line 135 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 221 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 219 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 225 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 223 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::InterpolatorPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::InterpolatorPointer |
Definition at line 153 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::InterpolatorType elastix::MultiMetricMultiResolutionRegistration< TElastix >::InterpolatorType |
Type of the Interpolator.
Definition at line 152 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::ITKBaseType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ITKBaseType |
Definition at line 183 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Typedef's for mask support.
Definition at line 218 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::MetricPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MetricPointer |
Definition at line 145 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::MetricType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MetricType |
Type of the metric.
Definition at line 144 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::MovingImageConstPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImageConstPointer |
Definition at line 141 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::MovingImagePyramidPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImagePyramidPointer |
Definition at line 165 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::MovingImagePyramidType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImagePyramidType |
Type of the moving image multiresolution pyramid.
Definition at line 164 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::MovingImageType elastix::MultiMetricMultiResolutionRegistration< TElastix >::MovingImageType |
Type of the Moving image.
Definition at line 140 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 222 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 220 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 226 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
Definition at line 224 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::OptimizerPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::OptimizerPointer |
Definition at line 157 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::OptimizerType elastix::MultiMetricMultiResolutionRegistration< TElastix >::OptimizerType |
Type of the optimizer.
Definition at line 156 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::ParametersType elastix::MultiMetricMultiResolutionRegistration< TElastix >::ParametersType |
Type of the Transformation parameters. This is the same type used to represent the search space of the optimization algorithm.
Definition at line 170 of file elxMultiMetricMultiResolutionRegistration.h.
typedef itk::SmartPointer< Self > elastix::MultiMetricMultiResolutionRegistration< TElastix >::Pointer |
Standard ITK: SmartPointers
Definition at line 116 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::RegistrationPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::RegistrationPointer |
Definition at line 182 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::RegistrationType elastix::MultiMetricMultiResolutionRegistration< TElastix >::RegistrationType |
Definition at line 181 of file elxMultiMetricMultiResolutionRegistration.h.
typedef MultiMetricMultiResolutionRegistration elastix::MultiMetricMultiResolutionRegistration< TElastix >::Self |
Standard ITK: Self
Definition at line 106 of file elxMultiMetricMultiResolutionRegistration.h.
typedef itk::MultiMetricMultiResolutionImageRegistrationMethod< typename RegistrationBase< TElastix >::FixedImageType, typename RegistrationBase< TElastix >::MovingImageType > elastix::MultiMetricMultiResolutionRegistration< TElastix >::Superclass1 |
Standard ITK: Superclasses.
Definition at line 112 of file elxMultiMetricMultiResolutionRegistration.h.
typedef RegistrationBase< TElastix > elastix::MultiMetricMultiResolutionRegistration< TElastix >::Superclass2 |
Definition at line 113 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::TransformPointer elastix::MultiMetricMultiResolutionRegistration< TElastix >::TransformPointer |
Definition at line 149 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass1::TransformType elastix::MultiMetricMultiResolutionRegistration< TElastix >::TransformType |
Type of the Transform .
Definition at line 148 of file elxMultiMetricMultiResolutionRegistration.h.
typedef Superclass2::UseMaskErosionArrayType elastix::MultiMetricMultiResolutionRegistration< TElastix >::UseMaskErosionArrayType |
Definition at line 184 of file elxMultiMetricMultiResolutionRegistration.h.
|
protected |
The constructor.
|
inlineoverrideprotected |
The destructor.
Definition at line 215 of file elxMultiMetricMultiResolutionRegistration.h.
|
private |
The private constructor.
|
overridevirtual |
Execute stuff after each iteration
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Execute stuff before each resolution:
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Execute stuff before the actual registration:
Reimplemented from elastix::BaseComponent.
elastix::MultiMetricMultiResolutionRegistration< TElastix >::elxClassNameMacro | ( | "MultiMetricMultiResolutionRegistration< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific registration framework.
example: (Registration "MultiMetricMultiResolutionRegistration")
|
virtual |
Run-time type information (and related methods).
Reimplemented from elastix::RegistrationBase< TElastix >.
elastix::MultiMetricMultiResolutionRegistration< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
Superclass2::FixedImageDimension | |||
) |
Get the dimension of the fixed image.
elastix::MultiMetricMultiResolutionRegistration< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
Superclass2::MovingImageDimension | |||
) |
Get the dimension of the moving image.
|
static |
Method for creation through the object factory.
|
private |
The private copy constructor.
|
protectedvirtual |
Read the components from m_Elastix and set them in the Registration class.
|
protected |
Function to update masks.
|
protected |
|
protected |
Definition at line 236 of file elxMultiMetricMultiResolutionRegistration.h.
Generated on 1667476801 for elastix by 1.9.4 |