18 #ifndef itkGPUPDEDeformableRegistrationFilter_h
19 #define itkGPUPDEDeformableRegistrationFilter_h
78 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField,
79 typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >
130 static constexpr
unsigned int ImageDimension = GPUSuperclass::ImageDimension;
133 itkGetOpenCLSourceFromKernelMacro(GPUPDEDeformableRegistrationFilterKernel);
138 return this->GetOutput();
147 void PrintSelf(std::ostream & os,
Indent indent)
const override;
151 void CopyInputToOutput()
override;
155 void InitializeIteration()
override;
160 void SmoothDisplacementField()
override;
164 virtual void GPUSmoothVectorField(DisplacementFieldPointer field,
166 int GPUSmoothingKernelSizes[]);
168 virtual void AllocateSmoothingBuffer();
173 void SmoothUpdateField()
override;
177 void PostProcessOutput()
override;
180 void Initialize()
override;
186 void GenerateOutputInformation()
override;
194 void GenerateInputRequestedRegion()
override;
203 int m_SmoothingKernelSizes[ImageDimension];
208 int m_UpdateFieldSmoothingKernelSizes[ImageDimension];
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "itkGPUPDEDeformableRegistrationFilter.hxx"
itkGPUKernelClassMacro(GPUImageOpsKernel)
typename GPUSuperclass::OutputImageType OutputImageType
typename GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
Control indentation during Print() invocation.