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>
203 itkSetClampMacro(NumberOfLevels,
unsigned long, 1, NumericTraits<unsigned long>::max());
204 itkGetConstMacro(NumberOfLevels,
unsigned long);
207 itkGetConstMacro(CurrentLevel,
unsigned long);
218 itkGetConstReferenceMacro(InitialTransformParametersOfNextLevel,
ParametersType);
233 MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx)
override;
250 PrintSelf(std::ostream & os, Indent indent)
const override;
270 itkSetMacro(CurrentLevel,
unsigned long);
281 using ProcessObject::MakeOutput;
306#ifndef ITK_MANUAL_INSTANTIATION
307# include "itkMultiResolutionImageRegistrationMethod2.hxx"
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > AdvancedTransformType
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
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
MultiResolutionImageRegistrationMethod2()
virtual void Initialize()
itkOverrideGetNameOfClassMacro(MultiResolutionImageRegistrationMethod2)
const TransformOutputType * GetOutput() const
ParametersType m_InitialTransformParameters
~MultiResolutionImageRegistrationMethod2() override=default
MovingImageConstPointer m_MovingImage
ITK_DISALLOW_COPY_AND_MOVE(MultiResolutionImageRegistrationMethod2)
ModifiedTimeType GetMTime() const override
typename MetricType::TransformParametersType ParametersType
unsigned long m_CurrentLevel
virtual void PreparePyramids()
MovingImagePyramidPointer m_MovingImagePyramid
DataObjectPointer MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx) override
itkGetModifiableObjectMacro(FixedImagePyramid, FixedImagePyramidType)
FixedImageConstPointer m_FixedImage
DataObjectDecorator< TransformType > TransformOutputType
SmartPointer< const Self > ConstPointer
AdvancedImageToImageMetric< FixedImageType, MovingImageType > MetricType
typename MetricType::AdvancedTransformType TransformType
unsigned long m_NumberOfLevels
SingleValuedNonLinearOptimizer OptimizerType
void PrintSelf(std::ostream &os, Indent indent) const override
typename TransformOutputType::Pointer TransformOutputPointer
itkGetModifiableObjectMacro(Transform, TransformType)
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
void GenerateData() override
MultiResolutionImageRegistrationMethodWithFeatures Self
typename FixedImageType::RegionType FixedImageRegionType
MultiInputMultiResolutionImageRegistrationMethodBase< TFixedImage, TMovingImage > Superclass
SmartPointer< Self > Pointer