18 #ifndef itkGPUDenseFiniteDifferenceImageFilter_h
19 #define itkGPUDenseFiniteDifferenceImageFilter_h
52 template<
typename TInputImage,
typename TOutputImage,
typename TParentImageFilter =
53 DenseFiniteDifferenceImageFilter< TInputImage, TOutputImage > >
77 static constexpr
unsigned int ImageDimension = GPUSuperclass::ImageDimension;
81 using PixelType =
typename GPUSuperclass::PixelType;
89 #ifdef ITK_USE_CONCEPT_CHECKING
101 itkGetOpenCLSourceFromKernelMacro(GPUDenseFiniteDifferenceImageFilterKernel);
106 void PrintSelf(std::ostream & os,
Indent indent)
const override;
110 void ApplyUpdate(
const TimeStepType& dt)
override;
112 void GPUApplyUpdate(
const TimeStepType& dt)
override;
116 TimeStepType GPUCalculateChange()
override;
121 void CopyInputToOutput()
override;
126 return CPUSuperclass::GetUpdateBuffer();
131 void AllocateUpdateBuffer()
override;
138 #ifndef ITK_MANUAL_INSTANTIATION
139 #include "itkGPUDenseFiniteDifferenceImageFilter.hxx"
class to abstract the behaviour of the GPU filters.
~GPUDenseFiniteDifferenceImageFilter() override
UpdateBufferType * GetUpdateBuffer() override
TParentImageFilter CPUSuperclass
TDisplacementField InputImageType
Base class for GPU Finite Difference Image Filters.
itkGPUKernelClassMacro(GPUImageOpsKernel)
typename GPUSuperclass::OutputImageType OutputImageType
typename GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
OutputImageType UpdateBufferType
int m_ApplyUpdateGPUKernelHandle
Control indentation during Print() invocation.
typename GPUSuperclass::TimeStepType TimeStepType
#define itkConceptMacro(name, concept)
typename GPUSuperclass::PixelType PixelType