18 #ifndef __itkMultiResolutionPDEDeformableRegistration_h
19 #define __itkMultiResolutionPDEDeformableRegistration_h
80 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField,
class TRealType =
float >
113 #ifdef ITKV3_COMPATIBILITY
114 typedef TDisplacementField DeformationFieldType;
115 typedef typename DeformationFieldType::Pointer DeformationFieldPointer;
119 itkStaticConstMacro(ImageDimension,
unsigned int, FixedImageType::ImageDimension);
161 this->m_InitialDisplacementField = ptr;
174 {
return this->GetOutput(); }
176 #ifdef ITKV3_COMPATIBILITY
177 virtual void SetInitialDeformationField(DisplacementFieldType *ptr)
179 this->SetInitialDisplacementField(ptr);
182 virtual void SetArbitraryInitialDeformationField(DisplacementFieldType *ptr)
184 this->SetArbitraryInitialDisplacementField(ptr);
188 const DeformationFieldType * GetDeformationField(
void)
190 return static_cast<DeformationFieldType *
> (this->GetDisplacementField());
200 virtual std::vector< SmartPointer< DataObject > >::size_type GetNumberOfValidRequiredInputs()
const;
203 itkSetObjectMacro(RegistrationFilter, RegistrationType);
206 itkGetObjectMacro(RegistrationFilter, RegistrationType);
209 itkSetObjectMacro(FixedImagePyramid, FixedImagePyramidType);
212 itkGetObjectMacro(FixedImagePyramid, FixedImagePyramidType);
215 itkSetObjectMacro(MovingImagePyramid, MovingImagePyramidType);
218 itkGetObjectMacro(MovingImagePyramid, MovingImagePyramidType);
221 virtual void SetNumberOfLevels(
unsigned int num);
224 itkGetConstReferenceMacro(NumberOfLevels,
unsigned int);
227 itkGetConstReferenceMacro(CurrentLevel,
unsigned int);
230 itkSetObjectMacro(FieldExpander, FieldExpanderType);
233 itkGetObjectMacro(FieldExpander, FieldExpanderType);
236 itkSetMacro(NumberOfIterations, NumberOfIterationsType);
237 itkSetVectorMacro(NumberOfIterations,
unsigned int, m_NumberOfLevels);
241 itkGetConstReferenceMacro(NumberOfIterations, NumberOfIterationsType);
244 virtual void StopRegistration();
247 MultiResolutionPDEDeformableRegistration();
250 void PrintSelf(std::ostream & os, Indent indent)
const;
254 virtual void GenerateData();
259 virtual void GenerateInputRequestedRegion();
267 virtual void GenerateOutputInformation();
272 virtual void EnlargeOutputRequestedRegion(DataObject *ptr);
288 void operator=(
const Self &);
307 #ifndef ITK_MANUAL_INSTANTIATION
308 #include "itkMultiResolutionPDEDeformableRegistration.hxx"