18 #ifndef itkGPUPDEDeformableRegistrationFilter_h
19 #define itkGPUPDEDeformableRegistrationFilter_h
78 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField,
79 typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >
113 typedef typename TDisplacementField::PixelType::ValueType
130 itkStaticConstMacro(ImageDimension,
unsigned int,
131 GPUSuperclass::ImageDimension);
134 itkGetOpenCLSourceFromKernelMacro(GPUPDEDeformableRegistrationFilterKernel);
157 return this->GetOutput();
170 virtual void CopyInputToOutput() ITK_OVERRIDE;
174 virtual
void InitializeIteration() ITK_OVERRIDE;
179 virtual
void SmoothDisplacementField() ITK_OVERRIDE;
183 virtual
void GPUSmoothVectorField(DisplacementFieldPointer field,
185 int GPUSmoothingKernelSizes[]);
187 virtual
void AllocateSmoothingBuffer();
192 virtual
void SmoothUpdateField() ITK_OVERRIDE;
196 virtual
void PostProcessOutput() ITK_OVERRIDE;
205 virtual
void GenerateOutputInformation() ITK_OVERRIDE;
213 virtual
void GenerateInputRequestedRegion() ITK_OVERRIDE;
224 int m_SmoothingKernelSizes[ImageDimension];
229 int m_UpdateFieldSmoothingKernelSizes[ImageDimension];
237 int m_SmoothDisplacementFieldGPUKernelHandle;
242 #ifndef ITK_MANUAL_INSTANTIATION
243 #include "itkGPUPDEDeformableRegistrationFilter.hxx"
virtual void PrintSelf(std::ostream &os, Indent indent) const override
virtual void Initialize()
itkGPUKernelClassMacro(GPUImageOpsKernel)
GPUSuperclass::OutputImageType OutputImageType
GPU memory manager implemented using OpenCL. Required by GPUImage class.
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
Control indentation during Print() invocation.
GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType