18 #ifndef itkMultiResolutionPDEDeformableRegistration_h
19 #define itkMultiResolutionPDEDeformableRegistration_h
82 typename TMovingImage,
83 typename TDisplacementField,
84 typename TRealType = float,
85 typename TFloatImageType = Image<TRealType, TFixedImage::ImageDimension>,
86 typename TRegistrationType = PDEDeformableRegistrationFilter<TFloatImageType, TFloatImageType, TDisplacementField>,
87 typename TDefaultRegistrationType = DemonsRegistrationFilter<TFloatImageType, TFloatImageType, TDisplacementField>>
121 static constexpr
unsigned int ImageDimension = FixedImageType::ImageDimension;
153 GetFixedImage()
const;
161 GetMovingImage()
const;
168 this->m_InitialDisplacementField = ptr;
181 const DisplacementFieldType *
184 return this->GetOutput();
193 std::vector<SmartPointer<DataObject>>::size_type
194 GetNumberOfValidRequiredInputs()
const override;
197 itkSetObjectMacro(RegistrationFilter, RegistrationType);
198 itkGetModifiableObjectMacro(RegistrationFilter, RegistrationType);
202 itkSetObjectMacro(FixedImagePyramid, FixedImagePyramidType);
203 itkGetModifiableObjectMacro(FixedImagePyramid, FixedImagePyramidType);
207 itkSetObjectMacro(MovingImagePyramid, MovingImagePyramidType);
208 itkGetModifiableObjectMacro(MovingImagePyramid, MovingImagePyramidType);
213 SetNumberOfLevels(
unsigned int num);
216 itkGetConstReferenceMacro(NumberOfLevels,
unsigned int);
219 itkGetConstReferenceMacro(CurrentLevel,
unsigned int);
222 itkSetObjectMacro(FieldExpander, FieldExpanderType);
223 itkGetModifiableObjectMacro(FieldExpander, FieldExpanderType);
227 itkSetMacro(NumberOfIterations, NumberOfIterationsType);
228 itkSetVectorMacro(NumberOfIterations,
unsigned int, m_NumberOfLevels);
232 itkGetConstReferenceMacro(NumberOfIterations, NumberOfIterationsType);
243 PrintSelf(std::ostream & os,
Indent indent)
const override;
257 GenerateData()
override;
263 GenerateInputRequestedRegion()
override;
272 GenerateOutputInformation()
override;
278 EnlargeOutputRequestedRegion(
DataObject * ptr)
override;
301 unsigned int m_NumberOfLevels{};
302 unsigned int m_CurrentLevel{};
306 bool m_StopRegistrationFlag{};
310 #ifndef ITK_MANUAL_INSTANTIATION
311 # include "itkMultiResolutionPDEDeformableRegistration.hxx"