18#ifndef itkMultiMetricMultiResolutionImageRegistrationMethod_h
19#define itkMultiMetricMultiResolutionImageRegistrationMethod_h
27#define elxOverrideSimpleSetMacro(_name, _type) \
28 void Set##_name(_type _arg) override { this->Set##_name(_arg, 0); }
31#define itkSetNumberOfMacro(_name) \
32 virtual void SetNumberOf##_name##s(unsigned int _arg) \
34 if (this->m_##_name##s.size() != _arg) \
36 this->m_##_name##s.resize(_arg); \
42#define itkGetNumberOfMacro(_name) \
43 virtual unsigned int GetNumberOf##_name##s() const { return this->m_##_name##s.size(); }
76template <
typename TFixedImage,
typename TMovingImage>
227 const InterpolatorType *
250 const FixedImagePyramidType *
273 const MovingImagePyramidType *
304 PrintSelf(std::ostream & os, Indent indent)
const override;
364#undef itkSetNumberOfMacro
365#undef itkGetNumberOfMacro
366#undef elxOverrideSimpleSetMacro
368#ifndef ITK_MANUAL_INSTANTIATION
369# include "itkMultiMetricMultiResolutionImageRegistrationMethod.hxx"
Combines multiple metrics.
SmartPointer< Self > Pointer
virtual MovingImagePyramidType * GetMovingImagePyramid(unsigned int pos) const
MultiResolutionImageRegistrationMethod2< typename RegistrationBase< TElastix >::FixedImageType, typename RegistrationBase< TElastix >::MovingImageType > Superclass
itkGetNumberOfMacro(MovingImagePyramid)
CombinationMetricPointer m_CombinationMetric
elxOverrideSimpleSetMacro(MovingImage, const MovingImageType *)
const FixedImageType * GetFixedImage() const override
~MultiMetricMultiResolutionImageRegistrationMethod() override=default
virtual FixedImagePyramidType * GetFixedImagePyramid(unsigned int pos) const
typename RegistrationBase< TElastix >::MovingImageType MovingImageType
const MovingImagePyramidType * GetMovingImagePyramid() const override
SmartPointer< Self > Pointer
virtual void StopMultiMetricRegistration()
virtual void SetFixedImageRegion(FixedImageRegionType _arg, unsigned int pos)
typename MetricType::InterpolatorType InterpolatorType
typename RegistrationBase< TElastix >::FixedImageType FixedImageType
virtual void SetMovingImagePyramid(MovingImagePyramidType *_arg, unsigned int pos)
typename OptimizerType::Pointer OptimizerPointer
void Initialize() override
ITK_DISALLOW_COPY_AND_MOVE(MultiMetricMultiResolutionImageRegistrationMethod)
itkSetNumberOfMacro(MovingImagePyramid)
CombinationImageToImageMetric< FixedImageType, MovingImageType > CombinationMetricType
std::vector< MovingImageConstPointer > m_MovingImages
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
itkGetNumberOfMacro(FixedImage)
const ParametersType & GetLastTransformParameters() const override
std::vector< FixedImageRegionPyramidType > m_FixedImageRegionPyramids
itkGetNumberOfMacro(FixedImagePyramid)
void SetMetric(MetricType *_arg) override
std::vector< InterpolatorPointer > m_Interpolators
itkGetNumberOfMacro(MovingImage)
MovingImagePyramidType * GetMovingImagePyramid() override
itkSetNumberOfMacro(FixedImage)
MultiMetricMultiResolutionImageRegistrationMethod()
virtual void SetFixedImage(const FixedImageType *_arg, unsigned int pos)
virtual void SetFixedImagePyramid(FixedImagePyramidType *_arg, unsigned int pos)
virtual void CheckOnInitialize()
virtual void PrepareAllPyramids()
typename FixedImageType::RegionType FixedImageRegionType
itkSetNumberOfMacro(FixedImageRegion)
virtual void SetMovingImage(const MovingImageType *_arg, unsigned int pos)
SmartPointer< const Self > ConstPointer
itkGetNumberOfMacro(Interpolator)
FixedImagePyramidType * GetFixedImagePyramid() override
elxOverrideSimpleSetMacro(FixedImage, const FixedImageType *)
itkSetNumberOfMacro(Interpolator)
std::vector< MovingImagePyramidPointer > m_MovingImagePyramids
itkGetNumberOfMacro(FixedImageRegion)
typename CombinationMetricType::Pointer CombinationMetricPointer
elxOverrideSimpleSetMacro(Interpolator, InterpolatorType *)
ParametersType m_LastTransformParameters
InterpolatorType * GetInterpolator() override
virtual const FixedImageRegionType & GetFixedImageRegion(unsigned int pos) const
typename MetricType::TransformParametersType ParametersType
ModifiedTimeType GetMTime() const override
elxOverrideSimpleSetMacro(FixedImagePyramid, FixedImagePyramidType *)
std::vector< FixedImagePyramidPointer > m_FixedImagePyramids
virtual CombinationMetricType * GetCombinationMetric() const
virtual const FixedImageType * GetFixedImage(unsigned int pos) const
std::vector< FixedImageRegionType > m_FixedImageRegions
const FixedImagePyramidType * GetFixedImagePyramid() const override
const InterpolatorType * GetInterpolator() const override
itkSetNumberOfMacro(FixedImagePyramid)
void GenerateData() override
virtual void SetInterpolator(InterpolatorType *_arg, unsigned int pos)
virtual InterpolatorType * GetInterpolator(unsigned int pos) const
itkSetNumberOfMacro(MovingImage)
FixedImageRegionType m_NullFixedImageRegion
const MovingImageType * GetMovingImage() const override
AdvancedImageToImageMetric< FixedImageType, MovingImageType > MetricType
MultiMetricMultiResolutionImageRegistrationMethod Self
std::vector< FixedImageConstPointer > m_FixedImages
const FixedImageRegionType & GetFixedImageRegion() const override
void PrintSelf(std::ostream &os, Indent indent) const override
virtual const MovingImageType * GetMovingImage(unsigned int pos) const
elxOverrideSimpleSetMacro(FixedImageRegion, const FixedImageRegionType)
std::vector< FixedImageRegionType > FixedImageRegionPyramidType
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
elxOverrideSimpleSetMacro(MovingImagePyramid, MovingImagePyramidType *)
virtual void CheckPyramids()
TMovingImage MovingImageType
typename DataObject::Pointer DataObjectPointer
typename MovingImageType::ConstPointer MovingImageConstPointer
typename MetricType::InterpolatorType InterpolatorType
typename TransformOutputType::ConstPointer TransformOutputConstPointer
TFixedImage FixedImageType
typename FixedImageType::ConstPointer FixedImageConstPointer
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
typename FixedImagePyramidType::Pointer FixedImagePyramidPointer
typename TransformType::Pointer TransformPointer
typename MetricType::Pointer MetricPointer
typename MovingImagePyramidType::Pointer MovingImagePyramidPointer
typename InterpolatorType::Pointer InterpolatorPointer
typename FixedImageType::RegionType FixedImageRegionType
MultiResolutionImageRegistrationMethod2()
typename MetricType::TransformParametersType ParametersType
DataObjectDecorator< TransformType > TransformOutputType
AdvancedImageToImageMetric< FixedImageType, MovingImageType > MetricType
typename MetricType::AdvancedTransformType TransformType
SingleValuedNonLinearOptimizer OptimizerType
typename TransformOutputType::Pointer TransformOutputPointer
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType