18 #ifndef itkMultiResolutionPDEDeformableRegistration_h
19 #define itkMultiResolutionPDEDeformableRegistration_h
80 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField,
typename 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 itkDynamicCastInDebugMode<DeformationFieldType *> (this->GetDisplacementField());
200 virtual std::vector< SmartPointer< DataObject > >::size_type GetNumberOfValidRequiredInputs() const ITK_OVERRIDE;
203 itkSetObjectMacro(RegistrationFilter, RegistrationType);
204 itkGetModifiableObjectMacro(RegistrationFilter, RegistrationType);
208 itkSetObjectMacro(FixedImagePyramid, FixedImagePyramidType);
209 itkGetModifiableObjectMacro(FixedImagePyramid, FixedImagePyramidType);
213 itkSetObjectMacro(MovingImagePyramid, MovingImagePyramidType);
214 itkGetModifiableObjectMacro(MovingImagePyramid, MovingImagePyramidType);
218 virtual
void SetNumberOfLevels(
unsigned int num);
221 itkGetConstReferenceMacro(NumberOfLevels,
unsigned int);
224 itkGetConstReferenceMacro(CurrentLevel,
unsigned int);
227 itkSetObjectMacro(FieldExpander, FieldExpanderType);
228 itkGetModifiableObjectMacro(FieldExpander, FieldExpanderType);
232 itkSetMacro(NumberOfIterations, NumberOfIterationsType);
233 itkSetVectorMacro(NumberOfIterations,
unsigned int, m_NumberOfLevels);
237 itkGetConstReferenceMacro(NumberOfIterations, NumberOfIterationsType);
240 virtual
void StopRegistration();
243 MultiResolutionPDEDeformableRegistration();
246 void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
250 virtual
void GenerateData() ITK_OVERRIDE;
255 virtual
void GenerateInputRequestedRegion() ITK_OVERRIDE;
263 virtual
void GenerateOutputInformation() ITK_OVERRIDE;
268 virtual
void EnlargeOutputRequestedRegion(
DataObject *ptr) ITK_OVERRIDE;
279 virtual
void VerifyInputInformation() ITK_OVERRIDE {}
299 #ifndef ITK_MANUAL_INSTANTIATION
300 #include "itkMultiResolutionPDEDeformableRegistration.hxx"
Resample an image via a coordinate transform.
Deformably register two images using the demons algorithm.
Light weight base class for most itk classes.
class ITK_FORWARD_EXPORT DataObject
Framework for creating images in a multi-resolution pyramid.
Base class for filters that take an image as input and produce an image as output.
Templated n-dimensional image class.