38#ifndef itkMultiResolutionImageRegistrationMethod2_h
39#define itkMultiResolutionImageRegistrationMethod2_h
41#include "itkProcessObject.h"
43#include "itkSingleValuedNonLinearOptimizer.h"
44#include "itkMultiResolutionPyramidImageFilter.h"
45#include "itkNumericTraits.h"
46#include "itkDataObjectDecorator.h"
96template <
typename TFixedImage,
typename TMovingImage>
207 itkSetClampMacro(NumberOfLevels,
unsigned long, 1, NumericTraits<unsigned long>::max());
208 itkGetConstMacro(NumberOfLevels,
unsigned long);
211 itkGetConstMacro(CurrentLevel,
unsigned long);
222 itkGetConstReferenceMacro(InitialTransformParametersOfNextLevel,
ParametersType);
254 PrintSelf(std::ostream & os, Indent indent)
const override;
274 itkSetMacro(CurrentLevel,
unsigned long);
307#ifndef ITK_MANUAL_INSTANTIATION
308# include "itkMultiResolutionImageRegistrationMethod2.hxx"
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
SmartPointer< Self > Pointer
Base class for multi-resolution image registration methods.
TMovingImage MovingImageType
typename DataObject::Pointer DataObjectPointer
typename MovingImageType::ConstPointer MovingImageConstPointer
FixedImageRegionType m_FixedImageRegion
ParametersType m_InitialTransformParametersOfNextLevel
OptimizerType::Pointer m_Optimizer
itkGetModifiableObjectMacro(Interpolator, InterpolatorType)
ParametersType m_LastTransformParameters
typename MetricType::InterpolatorType InterpolatorType
typename TransformOutputType::ConstPointer TransformOutputConstPointer
TFixedImage FixedImageType
InterpolatorPointer m_Interpolator
typename FixedImageType::ConstPointer FixedImageConstPointer
virtual DataObjectPointer MakeOutput(unsigned int idx)
itkGetModifiableObjectMacro(Optimizer, OptimizerType)
FixedImagePyramidPointer m_FixedImagePyramid
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
typename FixedImagePyramidType::Pointer FixedImagePyramidPointer
typename TransformType::Pointer TransformPointer
TransformPointer m_Transform
typename MetricType::Pointer MetricPointer
typename MovingImagePyramidType::Pointer MovingImagePyramidPointer
itkGetModifiableObjectMacro(MovingImagePyramid, MovingImagePyramidType)
typename InterpolatorType::Pointer InterpolatorPointer
typename FixedImageType::RegionType FixedImageRegionType
std::vector< FixedImageRegionType > FixedImageRegionPyramidType
itkGetModifiableObjectMacro(Metric, MetricType)
FixedImageRegionPyramidType m_FixedImageRegionPyramid
virtual void StartRegistration()
MultiResolutionImageRegistrationMethod2()
virtual void Initialize()
const TransformOutputType * GetOutput() const
ParametersType m_InitialTransformParameters
~MultiResolutionImageRegistrationMethod2() override=default
MovingImageConstPointer m_MovingImage
virtual void StopRegistration()
ModifiedTimeType GetMTime() const override
typename MetricType::TransformParametersType ParametersType
unsigned long m_CurrentLevel
virtual void PreparePyramids()
MovingImagePyramidPointer m_MovingImagePyramid
itkGetModifiableObjectMacro(FixedImagePyramid, FixedImagePyramidType)
FixedImageConstPointer m_FixedImage
DataObjectDecorator< TransformType > TransformOutputType
SmartPointer< const Self > ConstPointer
typename MetricType::AdvancedTransformType TransformType
unsigned long m_NumberOfLevels
void PrintSelf(std::ostream &os, Indent indent) const override
typename TransformOutputType::Pointer TransformOutputPointer
itkGetModifiableObjectMacro(Transform, TransformType)
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
void GenerateData() override
Class for multi-resolution image registration methods.
typename FixedImageType::RegionType FixedImageRegionType