18#ifndef __itkOpenCLImage_h
19#define __itkOpenCLImage_h
103 const std::size_t rowPitch = 0,
const std::size_t slicePitch = 0 );
114 const std::size_t rowPitch = 0,
const std::size_t slicePitch = 0 );
124 const std::size_t rowPitch = 0,
const std::size_t slicePitch = 0 );
135 const std::size_t rowPitch = 0,
const std::size_t slicePitch = 0 );
146 std::size_t * rowPitch = 0, std::size_t * slicePitch = 0 );
158 std::size_t * rowPitch = 0, std::size_t * slicePitch = 0 );
187 const std::size_t dst_offset = 0 );
198 const std::size_t dst_offset = 0 );
202 static void SetImageDescription( cl_image_desc & imageDescription,
220 void SetSize( std::size_t * region_t,
const OpenCLSize & region,
const std::size_t value )
const;
227template<
typename charT,
typename traits >
229std::basic_ostream< charT, traits > &
230operator<<( std::basic_ostream< charT, traits > & strm,
235 strm <<
"OpenCLImage(null)";
239 const char indent =
' ';
241 strm <<
"OpenCLImage" << std::endl
245 << indent <<
"Dimension: " << image.
GetDimension() << std::endl
246 << indent <<
"Width: " << image.
GetWidth() << std::endl
247 << indent <<
"Height: " << image.
GetHeight() << std::endl
248 << indent <<
"Depth: " << image.
GetDepth() << std::endl;
251 const OpenCLMemoryObject & memObj = image;
The OpenCLBuffer class represents an OpenCL buffer object.
The OpenCLContext class represents an OpenCL context.
OpenCLEventList class represents a list of OpenCLEvent objects.
OpenCLEvent class represents an OpenCL event object.
The OpenCLImage class represents an image object is used to store a one, two or three dimensional tex...
OpenCLMemoryObject Superclass
std::vcl_size_t GetRowSizeInBytes() const
std::vcl_size_t GetElementSizeInBytes() const
OpenCLEvent ReadAsync(void *data, const OpenCLSize &origin, const OpenCLSize ®ion, const OpenCLEventList &event_list=OpenCLEventList(), const std::vcl_size_t rowPitch=0, const std::vcl_size_t slicePitch=0)
bool Copy(const OpenCLImage &dest, const OpenCLSize &origin, const OpenCLSize ®ion, const OpenCLSize &destOrigin)
std::vcl_size_t GetWidth() const
void SetOrigin(std::vcl_size_t *origin_t, const OpenCLSize &origin) const
OpenCLImage & operator=(const OpenCLImage &other)
bool Write(const void *data, const OpenCLSize &origin, const OpenCLSize ®ion, const std::vcl_size_t rowPitch=0, const std::vcl_size_t slicePitch=0)
std::vcl_size_t GetSliceSizeInBytes() const
OpenCLImage(const OpenCLImage &other)
std::vcl_size_t GetDimension() const
std::vcl_size_t GetDepth() const
bool Copy(const OpenCLBuffer &dest, const OpenCLSize &origin, const OpenCLSize ®ion, const std::vcl_size_t dst_offset=0)
OpenCLImage(OpenCLContext *context, const cl_mem id)
void * Map(const OpenCLMemoryObject::Access access, const OpenCLSize &origin, const OpenCLSize ®ion, std::vcl_size_t *rowPitch=0, std::vcl_size_t *slicePitch=0)
OpenCLEvent CopyAsync(const OpenCLImage &dest, const OpenCLSize &origin, const OpenCLSize ®ion, const OpenCLSize &destOrigin, const OpenCLEventList &event_list=OpenCLEventList())
void SetSize(std::vcl_size_t *region_t, const OpenCLSize ®ion, const std::vcl_size_t value) const
void SetRegion(std::vcl_size_t *region_t, const OpenCLSize ®ion) const
OpenCLEvent CopyAsync(const OpenCLBuffer &dest, const OpenCLSize &origin, const OpenCLSize ®ion, const OpenCLEventList &event_list=OpenCLEventList(), const std::vcl_size_t dst_offset=0)
OpenCLImageFormat GetFormat() const
std::vcl_size_t GetHeight() const
OpenCLEvent WriteAsync(const void *data, const OpenCLSize &origin, const OpenCLSize ®ion, const OpenCLEventList &event_list=OpenCLEventList(), const std::vcl_size_t rowPitch=0, const std::vcl_size_t slicePitch=0)
bool Read(void *data, const OpenCLSize &origin, const OpenCLSize ®ion, const std::vcl_size_t rowPitch=0, const std::vcl_size_t slicePitch=0)
OpenCLEvent MapAsync(void **data, const OpenCLMemoryObject::Access access, const OpenCLSize &origin, const OpenCLSize ®ion, const OpenCLEventList &event_list=OpenCLEventList(), std::vcl_size_t *rowPitch=0, std::vcl_size_t *slicePitch=0)
std::vcl_size_t GetImageInfo(const cl_image_info name) const
The OpenCLMemoryObject class represents all common memory objects such as buffers and image objects.
The OpenCLSize class defines the size of an item of work for an OpenCL kernel.
std::basic_ostream< charT, traits > & operator<<(std::basic_ostream< charT, traits > &strm, const OpenCLCommandQueue &queue)