IOLink
IOL_v1.1.0_release
|
Interface representing an N dimensional image. More...
#include <iolink/view/ImageView.h>
Public Member Functions | |
size_t | dimensionCount () |
Returns the dimension of the View. | |
bool | support (ImageCapabilitySet flags) |
Checks if the ImageView supports the given capabilities. | |
virtual ImageCapabilitySet | capabilities () const =0 |
Return the capabilities of this image. | |
virtual const VectorXu64 & | shape ()=0 |
Return the shape of the image, each component containing the size in this dimension. More... | |
virtual DataType | dataType ()=0 |
Return the data type of the samples of this image. | |
virtual std::shared_ptr< const ImageProperties > | properties ()=0 |
Return the view's properties. | |
std::string | toString () const |
Return a string representation. | |
virtual std::shared_ptr< const MetadataNode > | metadata () const |
Return the root node of the metadata attached to this image. More... | |
virtual void | read (const VectorXu64 &index, void *dst) |
Read the data at the given index into a buffer. More... | |
virtual void | readRegion (const RegionXu64 ®ion, void *dst) |
Read a region of the image into a buffer. More... | |
virtual void | setProperties (std::shared_ptr< const ImageProperties > properties) |
Update the image's properties. More... | |
virtual void | setMetadata (std::shared_ptr< MetadataNode > metadata) |
Attach a new metadata node to the image. More... | |
virtual void | write (const VectorXu64 &index, const void *src) |
Write value from a buffer at the given index. More... | |
virtual void | writeRegion (const RegionXu64 ®ion, const void *src) |
Write a input buffer into a given region of the image. More... | |
virtual void | reshape (const VectorXu64 &shape, DataType dataType) |
Change the shape and sample data type of the image. More... | |
virtual const Indexer & | indexer () |
Return an Indexer describing the memory layout of the buffer. More... | |
virtual void * | buffer () |
Return a mutable pointer to the internal memory buffer. More... | |
virtual const void * | bufferReadOnly () const |
Return an immutable pointer to the internal memory buffer. More... | |
virtual size_t | bufferSize () |
Size in bytes of the internal buffer. More... | |
Public Member Functions inherited from iolink::View | |
virtual std::shared_ptr< Extension > | extension (size_t id) |
Get an extension of the view, corresponding to the given identifier. More... | |
Interface representing an N dimensional image.
This class can handle multidimensional image, for example:
This interface capabilities are indicated by the ImageCapabilitySet returned by the method ImageView::capabilities. Each capability enable the use of a specific set of methods. When one of those methods is called, if its corresponding capability is not supported, a NotImplemented exception will be thrown.
An ImageView is composed of the following parts:
|
virtual |
Return a mutable pointer to the internal memory buffer.
Available when the ImageView has the MEMORY_ACCESS capability.
NotImplemented | If the implementation does not support memory access. |
|
virtual |
Return an immutable pointer to the internal memory buffer.
Available when the ImageView has the MEMORY_ACCESS capability.
NotImplemented | If the implementation does not support memory access. |
|
virtual |
Size in bytes of the internal buffer.
Available when the ImageView has the MEMORY_ACCESS capability.
NotImplemented | If the implementation does not support memory access. |
|
virtual |
Return an Indexer describing the memory layout of the buffer.
Available when the ImageView has the MEMORY_ACCESS capability.
NotImplemented | If the implementation does not support memory access. |
|
virtual |
Return the root node of the metadata attached to this image.
Available when the ImageView has the READ capability.
NotImplemented | If the implementation does not support reading. |
|
virtual |
Read the data at the given index into a buffer.
Available when the ImageView has the READ capability.
Default implementation will call the readRegion method with a region of one pixel.
index | the index of the sample to read. |
dst | The buffer where read data will be copied. |
|
virtual |
Read a region of the image into a buffer.
Available when the ImageView has the READ capability.
region | The region of the image to read from. |
dst | The buffer where read data will be copied. |
NotImplemented | If the implementation does not support reading. |
|
virtual |
Change the shape and sample data type of the image.
Available when the ImageView has the RESHAPE capability.
All the image's data is invalidated after this operation.
shape | The new shape. |
dataType | The new sample data type. |
NotImplemented | If the implementation does not support reshaping. |
|
virtual |
Attach a new metadata node to the image.
Available when the ImageView has the WRITE capability.
NotImplemented | If the implementation does not support writing. |
|
virtual |
Update the image's properties.
Available when the ImageView has the WRITE capability.
NotImplemented | If the implementation does not support writing. |
|
pure virtual |
Return the shape of the image, each component containing the size in this dimension.
Example:
|
virtual |
Write value from a buffer at the given index.
Available when the ImageView has the WRITE capability.
Default implementation will call the writeRegion method with a region of one pixel.
index | The index of the image's sample to write. |
src | The buffer containing the data that will be written. |
|
virtual |
Write a input buffer into a given region of the image.
Available when the ImageView has the WRITE capability.
region | The region to write. |
src | The buffer containing the data that will be written. |
NotImplemented | If the implementation does not support writing. |