18#ifndef elxMultiMetricMultiResolutionRegistration_h
19#define elxMultiMetricMultiResolutionRegistration_h
94template <
class TElastix>
97 typename RegistrationBase<TElastix>::MovingImageType>
131 using typename Superclass1::FixedImageType;
132 using typename Superclass1::FixedImageConstPointer;
133 using typename Superclass1::FixedImageRegionType;
136 using typename Superclass1::MovingImageType;
137 using typename Superclass1::MovingImageConstPointer;
140 using typename Superclass1::MetricType;
141 using typename Superclass1::MetricPointer;
144 using typename Superclass1::TransformType;
145 using typename Superclass1::TransformPointer;
148 using typename Superclass1::InterpolatorType;
149 using typename Superclass1::InterpolatorPointer;
152 using typename Superclass1::OptimizerType;
153 using typename Superclass1::OptimizerPointer;
156 using typename Superclass1::FixedImagePyramidType;
157 using typename Superclass1::FixedImagePyramidPointer;
160 using typename Superclass1::MovingImagePyramidType;
161 using typename Superclass1::MovingImagePyramidPointer;
166 using typename Superclass1::ParametersType;
169 using typename Superclass1::CombinationMetricType;
170 using typename Superclass1::CombinationMetricPointer;
241#ifndef ITK_MANUAL_INSTANTIATION
242# include "elxMultiMetricMultiResolutionRegistration.hxx"
void BeforeRegistration() override
itk::SmartPointer< Self > Pointer
typename Superclass2::ITKBaseType ITKBaseType
MultiMetricMultiResolutionRegistration Self
itkStaticConstMacro(FixedImageDimension, unsigned int, Superclass2::FixedImageDimension)
itk::MultiMetricMultiResolutionImageRegistrationMethod< typename RegistrationBase< TElastix >::FixedImageType, typename RegistrationBase< TElastix >::MovingImageType > Superclass1
itkStaticConstMacro(MovingImageDimension, unsigned int, Superclass2::MovingImageDimension)
bool m_ShowExactMetricValue
RegistrationBase< TElastix > Superclass2
elxClassNameMacro("MultiMetricMultiResolutionRegistration")
ITK_DISALLOW_COPY_AND_MOVE(MultiMetricMultiResolutionRegistration)
virtual void SetComponents()
void BeforeEachResolution() override
typename Superclass2::RegistrationType RegistrationType
void UpdateMovingMasks(unsigned int level)
~MultiMetricMultiResolutionRegistration() override=default
itk::SmartPointer< const Self > ConstPointer
void AfterEachIteration() override
MultiMetricMultiResolutionRegistration()
void UpdateFixedMasks(unsigned int level)
typename ElastixType::MaskPixelType MaskPixelType
itk::ImageMaskSpatialObject< Self::FixedImageDimension > FixedMaskSpatialObjectType
typename MovingMaskSpatialObjectType::Pointer MovingMaskSpatialObjectPointer
typename FixedMaskSpatialObjectType::Pointer FixedMaskSpatialObjectPointer
typename FixedMaskImageType::Pointer FixedMaskImagePointer
typename ElastixType::RegistrationBaseType RegistrationType
itk::ImageMaskSpatialObject< Self::MovingImageDimension > MovingMaskSpatialObjectType
typename MovingMaskImageType::Pointer MovingMaskImagePointer
RegistrationBase()=default
std::vector< bool > UseMaskErosionArrayType
typename ElastixType::MovingMaskType MovingMaskImageType
typename ElastixType::MovingImageType MovingImageType
itk::MultiResolutionImageRegistrationMethod2< FixedImageType, MovingImageType > ITKBaseType
typename ElastixType::FixedMaskType FixedMaskImageType
Base class for multi-resolution image registration methods.
MultiMetricMultiResolutionImageRegistrationMethod()