19 #ifndef itkGPUImageDataManager_h
20 #define itkGPUImageDataManager_h
33 template <
typename TPixel,
unsigned int NDimension >
class GPUImage;
43 template <
typename ImageType >
48 friend class GPUImage< typename ImageType::PixelType, ImageType::ImageDimension >;
51 ITK_DISALLOW_COPY_AND_ASSIGN(GPUImageDataManager);
59 itkTypeMacro(GPUImageDataManager, GPUDataManager);
61 static constexpr unsigned int ImageDimension = ImageType::ImageDimension;
63 itkGetModifiableObjectMacro(GPUBufferedRegionIndex, GPUDataManager);
64 itkGetModifiableObjectMacro(GPUBufferedRegionSize, GPUDataManager);
66 void SetImagePointer( typename ImageType::Pointer img );
67 ImageType *GetImagePointer()
73 virtual void MakeCPUBufferUpToDate();
76 virtual void MakeGPUBufferUpToDate();
85 int m_BufferedRegionIndex[ImageType::ImageDimension];
86 int m_BufferedRegionSize[ImageType::ImageDimension];
94 #ifndef ITK_MANUAL_INSTANTIATION
95 #include "itkGPUImageDataManager.hxx"
Light weight base class for most itk classes.
GPUDataManager::Pointer m_GPUBufferedRegionSize
ObjectType * GetPointer() const noexcept
~GPUImageDataManager() override
GPU memory manager implemented using OpenCL. Required by GPUImage class.
Templated n-dimensional image class for the GPU.
GPUDataManager::Pointer m_GPUBufferedRegionIndex
GPU kernel manager implemented using OpenCL.
WeakPointer< ImageType > m_Image