19#ifndef itkGPUImageDataManager_h
20#define itkGPUImageDataManager_h
33template <
typename TPixel,
unsigned int VDimension>
44template <
typename ImageType>
49 friend class GPUImage<typename ImageType::PixelType, ImageType::ImageDimension>;
52 ITK_DISALLOW_COPY_AND_MOVE(GPUImageDataManager);
60 itkOverrideGetNameOfClassMacro(GPUImageDataManager);
62 static constexpr unsigned int ImageDimension = ImageType::ImageDimension;
64 itkGetModifiableObjectMacro(GPUBufferedRegionIndex, GPUDataManager);
65 itkGetModifiableObjectMacro(GPUBufferedRegionSize, GPUDataManager);
68 SetImagePointer(ImageType * img);
91 int m_BufferedRegionIndex[ImageType::ImageDimension]{};
92 int m_BufferedRegionSize[ImageType::ImageDimension]{};
99#ifndef ITK_MANUAL_INSTANTIATION
100# include "itkGPUImageDataManager.hxx"
GPU memory manager implemented using OpenCL. Required by GPUImage class.
virtual void MakeCPUBufferUpToDate()
~GPUImageDataManager() override=default
GPUImageDataManager()=default
virtual void MakeGPUBufferUpToDate()
Templated n-dimensional image class for the GPU.
GPU kernel manager implemented using OpenCL.
Light weight base class for most itk classes.
ObjectType * GetPointer() const noexcept
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....