15 #ifndef __itkMultiMetricMultiResolutionImageRegistrationMethod_h
16 #define __itkMultiMetricMultiResolutionImageRegistrationMethod_h
24 #define itkSimpleSetMacro(_name,_type) \
25 virtual void Set##_name( _type _arg ) \
27 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(void) const \
45 return this->m_##_name##s.size(); \
80 template <
typename TFixedImage,
typename TMovingImage>
148 virtual void SetMetric( MetricType * _arg );
156 return this->m_CombinationMetric.GetPointer();
167 virtual void SetFixedImage(
const FixedImageType * _arg,
unsigned int pos );
168 virtual const FixedImageType * GetFixedImage(
unsigned int pos )
const;
171 return this->GetFixedImage(0);
178 virtual void SetMovingImage(
const MovingImageType * _arg,
unsigned int pos );
179 virtual const MovingImageType * GetMovingImage(
unsigned int pos )
const;
181 {
return this->GetMovingImage(0); }
187 virtual void SetFixedImageRegion( FixedImageRegionType _arg,
unsigned int pos );
188 virtual const FixedImageRegionType & GetFixedImageRegion(
unsigned int pos )
const;
190 {
return this->GetFixedImageRegion(0); }
196 virtual void SetInterpolator( InterpolatorType * _arg,
unsigned int pos );
197 virtual InterpolatorType * GetInterpolator(
unsigned int pos )
const;
199 {
return this->GetInterpolator(0); }
205 virtual void SetFixedImagePyramid( FixedImagePyramidType * _arg,
unsigned int pos );
206 virtual FixedImagePyramidType * GetFixedImagePyramid(
unsigned int pos )
const;
208 {
return this->GetFixedImagePyramid(0); }
214 virtual void SetMovingImagePyramid( MovingImagePyramidType * _arg,
unsigned int pos );
215 virtual MovingImagePyramidType * GetMovingImagePyramid(
unsigned int pos )
const;
217 {
return this->GetMovingImagePyramid(0); }
225 unsigned long GetMTime(
void )
const;
233 return this->m_LastTransformParameters;
239 void PrintSelf( std::ostream& os, Indent indent )
const;
246 virtual void GenerateData(
void );
252 virtual void Initialize(
void ) throw (ExceptionObject);
258 virtual
void PrepareAllPyramids(
void );
263 virtual
void CheckPyramids(
void ) throw (ExceptionObject);
268 virtual
void CheckOnInitialize(
void ) throw (ExceptionObject);
293 void operator=(const Self&);
300 #undef itkSetNumberOfMacro
301 #undef itkGetNumberOfMacro
302 #undef itkSimpleSetMacro
304 #ifndef ITK_MANUAL_INSTANTIATION
305 #include "itkMultiMetricMultiResolutionImageRegistrationMethod.txx"
FixedImageType::ConstPointer FixedImageConstPointer
Base class for multi-resolution image registration methods.
Superclass::TransformOutputPointer TransformOutputPointer
MetricType::InterpolatorType InterpolatorType
RegistrationBase< TElastix >::MovingImageType MovingImageType
#define itkSetNumberOfMacro(_name)
virtual CombinationMetricType * GetCombinationMetric(void) const
SmartPointer< Self > Pointer
MetricType::TransformParametersType ParametersType
Superclass::FixedImagePyramidType FixedImagePyramidType
MovingImagePyramidType::Pointer MovingImagePyramidPointer
virtual InterpolatorType * GetInterpolator(void)
CombinationMetricType::Pointer CombinationMetricPointer
SmartPointer< const Self > ConstPointer
Superclass::MetricPointer MetricPointer
FixedImageType::RegionType FixedImageRegionType
virtual const FixedImageType * GetFixedImage(void) const
Superclass::TransformPointer TransformPointer
Superclass::FixedImageType FixedImageType
Superclass::OptimizerType OptimizerType
MultiResolutionImageRegistrationMethod2< TFixedImage, TMovingImage > Superclass
OptimizerType::Pointer OptimizerPointer
Superclass::TransformOutputType TransformOutputType
std::vector< FixedImageRegionType > FixedImageRegionPyramidType
MultiMetricMultiResolutionImageRegistrationMethod Self
FixedImagePyramidType::Pointer FixedImagePyramidPointer
Superclass::MovingImagePyramidType MovingImagePyramidType
InterpolatorType::Pointer InterpolatorPointer
virtual const ParametersType & GetLastTransformParameters(void) const
virtual FixedImagePyramidType * GetFixedImagePyramid(void)
CombinationImageToImageMetric< FixedImageType, MovingImageType > CombinationMetricType
Superclass::MovingImageConstPointer MovingImageConstPointer
virtual ~MultiMetricMultiResolutionImageRegistrationMethod()
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::MovingImagePyramidPointer MovingImagePyramidPointer
#define itkSimpleSetMacro(_name, _type)
Superclass::TransformOutputConstPointer TransformOutputConstPointer
virtual const MovingImageType * GetMovingImage(void) const
Superclass::TransformType TransformType
MovingImageType::ConstPointer MovingImageConstPointer
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::FixedImageConstPointer FixedImageConstPointer
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
Combines multiple metrics.
std::vector< FixedImageRegionType > FixedImageRegionPyramidType
virtual MovingImagePyramidType * GetMovingImagePyramid(void)
Base class for multi-resolution image registration methods.
Superclass::MetricType MetricType
Superclass::FixedImagePyramidPointer FixedImagePyramidPointer
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
#define itkGetNumberOfMacro(_name)
RegistrationBase< TElastix >::FixedImageType FixedImageType
virtual void StopMultiMetricRegistration(void)
Superclass::ParametersType ParametersType
Superclass::MovingImageType MovingImageType
virtual const FixedImageRegionType & GetFixedImageRegion(void) const
SmartPointer< Self > Pointer
Superclass::InterpolatorType InterpolatorType
Superclass::DataObjectPointer DataObjectPointer