18 #ifndef itkMultiResolutionImageRegistrationMethod_h 19 #define itkMultiResolutionImageRegistrationMethod_h 71 template<
typename TFixedImage,
typename TMovingImage >
139 itkSetConstObjectMacro(FixedImage, FixedImageType);
140 itkGetConstObjectMacro(FixedImage, FixedImageType);
144 itkSetConstObjectMacro(MovingImage, MovingImageType);
145 itkGetConstObjectMacro(MovingImage, MovingImageType);
149 itkSetObjectMacro(
Optimizer, OptimizerType);
150 itkGetModifiableObjectMacro(
Optimizer, OptimizerType);
154 itkSetObjectMacro(Metric, MetricType);
155 itkGetModifiableObjectMacro(Metric, MetricType);
159 itkSetMacro(FixedImageRegion, FixedImageRegionType);
160 itkGetConstReferenceMacro(FixedImageRegion, FixedImageRegionType);
164 itkSetObjectMacro(
Transform, TransformType);
165 itkGetModifiableObjectMacro(
Transform, TransformType);
169 itkSetObjectMacro(Interpolator, InterpolatorType);
170 itkGetModifiableObjectMacro(Interpolator, InterpolatorType);
174 itkSetObjectMacro(FixedImagePyramid, FixedImagePyramidType);
175 itkGetModifiableObjectMacro(FixedImagePyramid, FixedImagePyramidType);
179 itkSetObjectMacro(MovingImagePyramid, MovingImagePyramidType);
180 itkGetModifiableObjectMacro(MovingImagePyramid, MovingImagePyramidType);
185 const ScheduleType & movingSchedule);
187 itkGetConstMacro(FixedImagePyramidSchedule, ScheduleType);
188 itkGetConstMacro(MovingImagePyramidSchedule, ScheduleType);
199 itkSetMacro(InitialTransformParameters, ParametersType);
200 itkGetConstReferenceMacro(InitialTransformParameters, ParametersType);
206 itkSetMacro(InitialTransformParametersOfNextLevel, ParametersType);
207 itkGetConstReferenceMacro(InitialTransformParametersOfNextLevel, ParametersType);
212 itkGetConstReferenceMacro(LastTransformParameters, ParametersType);
215 const TransformOutputType *
GetOutput()
const;
221 virtual DataObjectPointer
MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
227 #ifdef ITKV3_COMPATIBILITY 239 void StartRegistration(
void) { this->
Update(); }
245 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
266 void operator=(
const Self &) ITK_DELETE_FUNCTION;
300 #ifndef ITK_MANUAL_INSTANTIATION 301 #include "itkMultiResolutionImageRegistrationMethod.hxx" virtual void Update()
Bring this filter up-to-date.
DataObject::Pointer DataObjectPointer
SizeValueType m_NumberOfLevels
SizeValueType m_CurrentLevel
FixedImageConstPointer m_FixedImage
ImageToImageMetric< FixedImageType, MovingImageType > MetricType
TransformPointer m_Transform
FixedImageType::RegionType FixedImageRegionType
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override
Make a DataObject of the correct type to used as the specified output.
FixedImageRegionType m_FixedImageRegion
TransformOutputType::ConstPointer TransformOutputConstPointer
MovingImagePyramidType::Pointer MovingImagePyramidPointer
virtual void GenerateData() override
unsigned long ModifiedTimeType
MetricType::Pointer MetricPointer
ScheduleType m_FixedImagePyramidSchedule
This class is a base for the Optimization methods that optimize a single valued function.
MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > MovingImagePyramidType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
std::vector< FixedImageRegionType > m_FixedImageRegionPyramid
const TransformOutputType * GetOutput() const
MultiResolutionImageRegistrationMethod Self
MovingImageType::ConstPointer MovingImageConstPointer
FixedImagePyramidType::Pointer FixedImagePyramidPointer
Framework for creating images in a multi-resolution pyramid.
unsigned long SizeValueType
void SetSchedules(const ScheduleType &fixedSchedule, const ScheduleType &movingSchedule)
FixedImagePyramidPointer m_FixedImagePyramid
TransformType::Pointer TransformPointer
MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > FixedImagePyramidType
SingleValuedNonLinearOptimizer OptimizerType
FixedImageType::ConstPointer FixedImageConstPointer
OptimizerType::Pointer m_Optimizer
ParametersType m_InitialTransformParametersOfNextLevel
void operator=(const Self &) ITK_DELETE_FUNCTION
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
Class to hold and manage different parameter types used during optimization.
TFixedImage FixedImageType
Decorates any subclass of itkObject with a DataObject API.
virtual ModifiedTimeType GetMTime() const override
virtual void PrintSelf(std::ostream &os, Indent indent) const override
ParametersType m_LastTransformParameters
Standard exception handling object.
Generic representation for an optimization method.
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
void SetNumberOfLevels(SizeValueType numberOfLevels)
FixedImagePyramidType::ScheduleType ScheduleType
TMovingImage MovingImageType
Base class for multi-resolution image registration methods.
bool m_NumberOfLevelsSpecified
Base class for all image interpolaters.
InterpolatorType::Pointer InterpolatorPointer
virtual ~MultiResolutionImageRegistrationMethod()
MovingImageConstPointer m_MovingImage
ScheduleType m_MovingImagePyramidSchedule
MultiResolutionImageRegistrationMethod()
MetricType::TransformType TransformType
MetricType::InterpolatorType InterpolatorType
SmartPointer< const Self > ConstPointer
MovingImagePyramidPointer m_MovingImagePyramid
Control indentation during Print() invocation.
ParametersType m_InitialTransformParameters
MetricType::TransformParametersType ParametersType
SmartPointer< Self > Pointer
DataObjectDecorator< TransformType > TransformOutputType
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
Computes similarity between regions of two images.
InterpolatorPointer m_Interpolator
TransformOutputType::Pointer TransformOutputPointer