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 >;
57 itkTypeMacro(GPUImageDataManager, GPUDataManager);
59 static ITK_CONSTEXPR_VAR unsigned int ImageDimension = ImageType::ImageDimension;
61 itkGetModifiableObjectMacro(GPUBufferedRegionIndex, GPUDataManager);
62 itkGetModifiableObjectMacro(GPUBufferedRegionSize, GPUDataManager);
64 void SetImagePointer( typename ImageType::Pointer img );
65 ImageType *GetImagePointer()
71 virtual void MakeCPUBufferUpToDate();
74 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.
virtual ~GPUImageDataManager() override
GPUDataManager::Pointer m_GPUBufferedRegionSize
ObjectType * GetPointer() const
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.
Implements transparent reference counting.
WeakPointer< ImageType > m_Image