18 #ifndef itkGPUPDEDeformableRegistrationFilter_h
19 #define itkGPUPDEDeformableRegistrationFilter_h
78 template <
typename TFixedImage,
79 typename TMovingImage,
80 typename TDisplacementField,
81 typename TParentImageFilter = PDEDeformableRegistrationFilter<TFixedImage, TMovingImage, TDisplacementField>>
130 static constexpr
unsigned int ImageDimension = GPUSuperclass::ImageDimension;
133 itkGetOpenCLSourceFromKernelMacro(GPUPDEDeformableRegistrationFilterKernel);
139 return this->GetOutput();
149 PrintSelf(std::ostream & os,
Indent indent)
const override;
155 CopyInputToOutput()
override;
160 InitializeIteration()
override;
166 SmoothDisplacementField()
override;
175 int GPUSmoothingKernelSizes[]);
178 AllocateSmoothingBuffer();
184 SmoothUpdateField()
override;
191 PostProcessOutput()
override;
198 Initialize()
override;
205 GenerateOutputInformation()
override;
214 GenerateInputRequestedRegion()
override;
223 int m_SmoothingKernelSizes[ImageDimension]{};
228 int m_UpdateFieldSmoothingKernelSizes[ImageDimension]{};
232 int * m_ImageSizes{};
236 int m_SmoothDisplacementFieldGPUKernelHandle{};
240 #ifndef ITK_MANUAL_INSTANTIATION
241 # include "itkGPUPDEDeformableRegistrationFilter.hxx"