IOLink IOL_v1.8.0_release
Loading...
Searching...
No Matches
iolink Namespace Reference

All IOLink symbols are enclosed in this namespace. More...

Classes

class  ArrayX
 A multi dimensionnal array. More...
 
class  ConstMetadataNodeIterator
 Class represents a const iterator on a list of Metadata nodes. More...
 
class  DataAccess
 Parent interface of interfaces used to manipulate raw bytes. More...
 
class  DataConverter
 Handle conversion of data buffers described by an IOLink DataType. More...
 
class  DataFrameView
 View to model tabular data. More...
 
class  DataFrameViewFactory
 
class  DataFrameViewProvider
 
class  DataStorage
 Describes a data source, that manages and opens DataAccess instances. More...
 
class  DataType
 Stores information about a data type. More...
 
class  DataTypeTraits
 
class  DataTypeTraits< const char * >
 
class  DataTypeTraits< double >
 
class  DataTypeTraits< float >
 
class  DataTypeTraits< int16_t >
 
class  DataTypeTraits< int32_t >
 
class  DataTypeTraits< int64_t >
 
class  DataTypeTraits< int8_t >
 
class  DataTypeTraits< std::string >
 
class  DataTypeTraits< std::u16string >
 
class  DataTypeTraits< std::u32string >
 
class  DataTypeTraits< uint16_t >
 
class  DataTypeTraits< uint32_t >
 
class  DataTypeTraits< uint64_t >
 
class  DataTypeTraits< uint8_t >
 
class  DataTypeTraits< Vector< T, N > >
 
class  DependencyGraph
 Algorithms on the dependency graph. More...
 
class  Error
 Error base class. More...
 
class  Extension
 Parent class for all views extensions. More...
 
class  ExtensionProvider
 
class  FlagSet
 Template class to handle a flags system from an enum. More...
 
class  HTTPHeaders
 A class used to pass HTTP headers as input of factories methods. More...
 
class  ImageInfoProperty
 This property describes the way the axes must be interpreted (IMAGE, VOLUME, SEQUENCE...) and also the composition of the image by providing : More...
 
class  ImageProperties
 Hold additionnal info for ImageView data interpretation. More...
 
class  ImageType
 A flag system that describes the dimensions of an image. More...
 
class  ImageTypeId
 Enum for the image type (see ImageType) More...
 
class  ImageView
 Interface representing an N dimensional image. More...
 
class  ImageViewFactory
 This factory is aimed at creating dataset views. More...
 
class  ImageViewProvider
 Utility class to check and convert a View into an ImagevView. More...
 
class  Indexer
 This class is used to index a classic array into a multi dimensional array. More...
 
class  InvalidArgument
 'Invalid argument' error raised when an argument is not the one expected in a public method. More...
 
class  LodImageView
 A view on an image with multiple levels of detail (LOD). More...
 
class  LodImageViewProvider
 Utility class for LodImageView support. More...
 
class  Logger
 Manage IOLink logging. More...
 
class  Matrix
 An arithmetic square matrix. More...
 
class  MetadataNode
 Class which represents one node from a metadata tree. More...
 
class  MetadataNodeFactory
 A factory to build MetadataNode instances. More...
 
class  MetadataNodeHelper
 A collection of functions to handle paths on MetadataNode instances. More...
 
class  MetadataNodeIterator
 Class represents an iterator on a list of Metadata nodes. More...
 
class  MultiImageView
 Interface representing a multi-image view, i.e. More...
 
class  MultiImageViewFactory
 This factory is aimed at creating stack of ImageViews. More...
 
class  MultiImageViewProvider
 Utility class to check and convert a View into a MultiImagevView. More...
 
class  NotImplemented
 'Not implemented' error raised when a 'not available' method is called. More...
 
class  ParallelAccessExtension
 ImageView extension to give information about how to efficiently access it in a multi-threaded environment. More...
 
class  RandomAccess
 Interface representing a generic array-like accessor. More...
 
class  RandomAccessFactory
 A factory to create RandomAccess instances from various ressources. More...
 
class  RandomAccessProvider
 Utility class to check and convert a DataAccess into a RandomAccess. More...
 
class  Region
 A multi-dimensional region defined by its origin and its size. More...
 
class  RegionCopier
 This class contains the algorithms used to copy data beetween two regions of N dimensionnal data. More...
 
class  RegionX
 A Region using dynamic vectors. More...
 
class  Serialization
 Serialization class which provides methods to serialize and unserialize most of IOLink objects. More...
 
class  SpatialCalibrationProperty
 This Property is used to represent the image properties in world space. More...
 
class  SpatialDirections
 Describes a spatial axis system, with direction vectors describing the three axes. More...
 
class  StreamAccess
 Mother interface for all stream-like data accessors. More...
 
class  StreamAccessFactory
 A factory to create StreamAccess instances from various ressources. More...
 
class  StreamAccessProvider
 Utility class to check and convert a DataAccess into a StreamAccess. More...
 
class  TilingInfoExtension
 ImageView extension to describe how an image is tiled. More...
 
class  UidGenerator
 A collection of fonctions and constant useful for managing unique identifiers. More...
 
class  Uri
 Class modeling universal resource identifier. More...
 
class  VariantDataValue
 Stores metadata heterogeneous type value. More...
 
class  VariantDataValueConverter
 Converter contains a set of method allowing to interpret a VariantDataValue as a determined type. More...
 
class  VariantDataValueFactory
 A factory to create VariantDataValue instances from a great variety of types. More...
 
class  Vector
 An arithmetic vector. More...
 
class  VectorX
 A dynamically sized arithmetic vector. More...
 
class  Versioning
 Versioning tool to check library infos. More...
 
class  View
 Interface representing a generic view on data. More...
 
class  ViewOriginExtension
 Extension used to access view's origins if it exists. More...
 
class  Writer
 Interface to use in order to output a view to another medium. More...
 

Typedefs

using ArrayXi8 = ArrayX< int8_t >
 Alias for int8_t arrays.
 
using ArrayXi16 = ArrayX< int16_t >
 Alias for int16_t arrays.
 
using ArrayXi32 = ArrayX< int32_t >
 Alias for int32_t arrays.
 
using ArrayXi64 = ArrayX< int64_t >
 Alias for int64_t arrays.
 
using ArrayXu8 = ArrayX< uint8_t >
 Alias for uint8_t arrays.
 
using ArrayXu16 = ArrayX< uint16_t >
 Alias for uint16_t arrays.
 
using ArrayXu32 = ArrayX< uint32_t >
 Alias for uint32_t arrays.
 
using ArrayXu64 = ArrayX< uint64_t >
 Alias for uint64_t arrays.
 
using ArrayXf = ArrayX< float >
 Alias for float arrays.
 
using ArrayXd = ArrayX< double >
 Alias for double arrays.
 
using Matrix3f = Matrix< float, 3 >
 Square matrix of size 3, storing float data.
 
using Matrix3d = Matrix< double, 3 >
 Square matrix of size 3, storing double data.
 
using Matrix4f = Matrix< float, 4 >
 Square matrix of size 4, storing float data.
 
using Matrix4d = Matrix< double, 4 >
 Square matrix of size 4, storing double data.
 
template<typename T >
using Region2 = Region< T, 2 >
 
template<typename T >
using Region3 = Region< T, 3 >
 
template<typename T >
using Region4 = Region< T, 4 >
 
using Region2u64 = Region2< uint64_t >
 Alias for uint64_t 2D regions.
 
using Region3u64 = Region3< uint64_t >
 Alias for uint64_t 3D regions.
 
using Region4u64 = Region4< uint64_t >
 Alias for uint64_t 4D regions.
 
using RegionXu64 = RegionX< uint64_t >
 Alias for uint64_t variable size regions.
 
using RandomAccessCapabilitySet = FlagSet< RandomAccessCapability >
 FlagSet for RandomAccessCapability enum.
 
using StreamAccessCapabilitySet = FlagSet< StreamAccessCapability >
 FlagSet for StreamAccessCapability enum.
 
using Vector2u8 = Vector< uint8_t, 2 >
 Alias for uint8_t 2D vectors.
 
using Vector2u16 = Vector< uint16_t, 2 >
 Alias for uint16_t 2D vectors.
 
using Vector2u32 = Vector< uint32_t, 2 >
 Alias for uint32_t 2D vectors.
 
using Vector2u64 = Vector< uint64_t, 2 >
 Alias for uint64_t 2D vectors.
 
using Vector2i8 = Vector< int8_t, 2 >
 Alias for int8_t 2D vectors.
 
using Vector2i16 = Vector< int16_t, 2 >
 Alias for int16_t 2D vectors.
 
using Vector2i32 = Vector< int32_t, 2 >
 Alias for int32_t 2D vectors.
 
using Vector2i64 = Vector< int64_t, 2 >
 Alias for int64_t 2D vectors.
 
using Vector2f = Vector< float, 2 >
 Alias for float 2D vectors.
 
using Vector2d = Vector< double, 2 >
 Alias for double 2D vectors.
 
using Vector3u8 = Vector< uint8_t, 3 >
 Alias for uint8_t 3D vectors.
 
using Vector3u16 = Vector< uint16_t, 3 >
 Alias for uint16_t 3D vectors.
 
using Vector3u32 = Vector< uint32_t, 3 >
 Alias for uint32_t 3D vectors.
 
using Vector3u64 = Vector< uint64_t, 3 >
 Alias for uint64_t 3D vectors.
 
using Vector3i8 = Vector< int8_t, 3 >
 Alias for int8_t 3D vectors.
 
using Vector3i16 = Vector< int16_t, 3 >
 Alias for int16_t 3D vectors.
 
using Vector3i32 = Vector< int32_t, 3 >
 Alias for int32_t 3D vectors.
 
using Vector3i64 = Vector< int64_t, 3 >
 Alias for int64_t 3D vectors.
 
using Vector3f = Vector< float, 3 >
 Alias for float 3D vectors.
 
using Vector3d = Vector< double, 3 >
 Alias for double 3D vectors.
 
using Vector4u8 = Vector< uint8_t, 4 >
 Alias for uint8_t 4D vectors.
 
using Vector4u16 = Vector< uint16_t, 4 >
 Alias for uint16_t 4D vectors.
 
using Vector4u32 = Vector< uint32_t, 4 >
 Alias for uint32_t 4D vectors.
 
using Vector4u64 = Vector< uint64_t, 4 >
 Alias for uint64_t 4D vectors.
 
using Vector4i8 = Vector< int8_t, 4 >
 Alias for int8_t 4D vectors.
 
using Vector4i16 = Vector< int16_t, 4 >
 Alias for int16_t 4D vectors.
 
using Vector4i32 = Vector< int32_t, 4 >
 Alias for int32_t 4D vectors.
 
using Vector4i64 = Vector< int64_t, 4 >
 Alias for int64_t 4D vectors.
 
using Vector4f = Vector< float, 4 >
 Alias for float 4D vectors.
 
using Vector4d = Vector< double, 4 >
 Alias for double 4D vectors.
 
using VectorXu8 = VectorX< uint8_t >
 Alias for uint8_t variable size vectors.
 
using VectorXu16 = VectorX< uint16_t >
 Alias for uint16_t variable size vectors.
 
using VectorXu32 = VectorX< uint32_t >
 Alias for uint32_t variable size vectors.
 
using VectorXu64 = VectorX< uint64_t >
 Alias for uint64_t variable size vectors.
 
using VectorXi8 = VectorX< int8_t >
 Alias for int8_t variable size vectors.
 
using VectorXi16 = VectorX< int16_t >
 Alias for int16_t variable size vectors.
 
using VectorXi32 = VectorX< int32_t >
 Alias for int32_t variable size vectors.
 
using VectorXi64 = VectorX< int64_t >
 Alias for int64_t variable size vectors.
 
using VectorXf = VectorX< float >
 Alias for float variable size vectors.
 
using VectorXd = VectorX< double >
 Alias for double variable size vectors.
 
using DataFrameCapabilitySet = FlagSet< DataFrameCapability >
 FlagSet to handle DataFrameView capabilities.
 
using ImageCapabilitySet = FlagSet< ImageCapability >
 FlagSet to handle ImageView capabilities.
 
using MultiImageCapabilitySet = FlagSet< MultiImageCapability >
 FlagSet to handle MultiImageView capabilities.
 
using ParallelAccessCapabilitySet = FlagSet< ParallelAccessCapability >
 FlagSet to handle ImageView parallel Access capabilities.
 

Enumerations

enum class  PrimitiveTypeId : uint16_t {
  UNKNOWN = 0x0000 , UNSIGNED_INTEGER = 0x0001 , SIGNED_INTEGER = 0x0002 , FLOATING_POINT = 0x0003 ,
  UNICODE_STRING = 0x0004
}
 Enum to describe the primitive family of a data type. More...
 
enum class  DataTypeInterpretation : uint32_t { RAW = 0 , COMPLEX , SQUARE_MATRIX , SYMMETRIC_MATRIX }
 An enumeration to describe how the data should be interpreted. More...
 
enum class  DataTypeId : uint64_t {
  UNKNOWN = 0x0000000000000000 , UINT8 = 0x0000000000010108 , UINT16 = 0x0000000000010110 , UINT32 = 0x0000000000010120 ,
  UINT64 = 0x0000000000010140 , INT8 = 0x0000000000020108 , INT16 = 0x0000000000020110 , INT32 = 0x0000000000020120 ,
  INT64 = 0x0000000000020140 , FLOAT = 0x0000000000030120 , DOUBLE = 0x0000000000030140 , UTF8_STRING = 0x0000000000040108 ,
  UTF16_STRING = 0x0000000000040110 , UTF32_STRING = 0x0000000000040120 , VEC2_UINT8 = 0x0000000000010208 , VEC2_UINT16 = 0x0000000000010210 ,
  VEC2_UINT32 = 0x0000000000010220 , VEC2_UINT64 = 0x0000000000010240 , VEC2_INT8 = 0x0000000000020208 , VEC2_INT16 = 0x0000000000020210 ,
  VEC2_INT32 = 0x0000000000020220 , VEC2_INT64 = 0x0000000000020240 , VEC2_FLOAT = 0x0000000000030220 , VEC2_DOUBLE = 0x0000000000030240 ,
  VEC3_UINT8 = 0x0000000000010308 , VEC3_UINT16 = 0x0000000000010310 , VEC3_UINT32 = 0x0000000000010320 , VEC3_UINT64 = 0x0000000000010340 ,
  VEC3_INT8 = 0x0000000000020308 , VEC3_INT16 = 0x0000000000020310 , VEC3_INT32 = 0x0000000000020320 , VEC3_INT64 = 0x0000000000020340 ,
  VEC3_FLOAT = 0x0000000000030320 , VEC3_DOUBLE = 0x0000000000030340 , VEC4_UINT8 = 0x0000000000010408 , VEC4_UINT16 = 0x0000000000010410 ,
  VEC4_UINT32 = 0x0000000000010420 , VEC4_UINT64 = 0x0000000000010440 , VEC4_INT8 = 0x0000000000020408 , VEC4_INT16 = 0x0000000000020410 ,
  VEC4_INT32 = 0x0000000000020420 , VEC4_INT64 = 0x0000000000020440 , VEC4_FLOAT = 0x0000000000030420 , VEC4_DOUBLE = 0x0000000000030440 ,
  COMPLEX_FLOAT = 0x0000000100030220 , COMPLEX_DOUBLE = 0x0000000100030240 , MATRIX2_FLOAT = 0x0000000200030420 , MATRIX2_DOUBLE = 0x0000000200030440 ,
  MATRIX3_FLOAT = 0x0000000200030920 , MATRIX3_DOUBLE = 0x0000000200030940 , MATRIX4_FLOAT = 0x0000000200031020 , MATRIX4_DOUBLE = 0x0000000200031040 ,
  SYM_MATRIX2_FLOAT = 0x0000000300030320 , SYM_MATRIX2_DOUBLE = 0x0000000300030340 , SYM_MATRIX3_FLOAT = 0x0000000300030620 , SYM_MATRIX3_DOUBLE = 0x0000000300030640
}
 A collection of built-in data types. More...
 
enum class  ImageDimension {
  COLUMN = 0 , ROW = 1 , SLICE = 2 , CHANNEL = 3 ,
  SEQUENCE = 4
}
 Enum used in ImageType to represent each dimension of an Image. More...
 
enum class  LogLevel {
  LOG_OFF , LOG_CRITICAL , LOG_ERR , LOG_WARNING ,
  LOG_INFO , LOG_DEBUG , LOG_TRACE
}
 The level of logs to display. More...
 
enum class  MemoryLayout { UNKNOWN = 0 , C , FORTRAN }
 This enum indicates how a multidimensionnal array is stored in continuous memory. More...
 
enum class  ImageInterpretation {
  UNKNOWN = 0x00 , GRAYSCALE = 0x01 , LABEL = 0x02 , BINARY = 0x03 ,
  CIE_XYZ = 0x11 , CIE_XYZ_CHROMATICITY = 0x12 , CIE_UVW = 0x14 , CIE_LUV = 0x15 ,
  CIE_LAB = 0x16 , RGB = 0x21 , RGB_CHROMATICITY = 0x22 , SRGB = 0x23 ,
  YUV = 0x31 , YCC = 0x32 , YIQ = 0x33 , YDD = 0x34 ,
  HSL = 0x41 , HSV = 0x42 , CMYK = 0x51 , MULTISPECTRAL = 0xFF
}
 Interpretation of an Image. More...
 
enum class  AccessCapabilities { READ_ONLY = 0x1 , WRITE_ONLY = 0x2 , READ_WRITE = 0x3 }
 Used to request capabilities for accessors.
 
enum class  RandomAccessCapability {
  READ = 0x1 , WRITE = 0x2 , RESIZE = 0x4 , MEMORY_ACCESS = 0x8 ,
  READ_WRITE = 0x3 , WRITE_RESIZE = 0x6
}
 Capabilities of a RandomAccess. More...
 
enum class  StreamAccessCapability {
  READ = 0x1 , WRITE = 0x2 , SEEK = 0x4 , MEMORY_ACCESS = 0x8 ,
  READ_WRITE = 0x3 , READ_SEEK = 0x5 , WRITE_SEEK = 0x6
}
 Capabilities of a StreamAccess. More...
 
enum class  SeekOrigin { BEGIN = 1 , CURRENT = 2 , END = 3 }
 Position indicator for seek method. More...
 
enum class  CommonAncestorStatus { SHARE_NO_ANCESTOR , SHARE_ANCESTOR , UNDETERMINED }
 Status of the research of a common ancestor. More...
 
enum class  DataFrameCapability { READ = 0x1 , WRITE = 0x2 , RESHAPE = 0x4 }
 Capabilities of dataframes instances. More...
 
enum class  ImageCapability {
  READ = 0x1 , WRITE = 0x2 , RESHAPE = 0x4 , MEMORY_ACCESS = 0x8 ,
  READ_WRITE = 0x3
}
 Define capabilities of an ImageView. More...
 
enum class  MultiImageCapability { READ = 0x1 , WRITE = 0x2 , READ_WRITE = 0x3 }
 Define capabilities of an MultiImageView. More...
 
enum class  ParallelAccessCapability {
  THREAD_SAFE = 0x1 , PARALLEL_TILE_READ = 0x2 , PARALLEL_TILE_WRITE = 0x4 , PARALLEL_READ = 0x8 ,
  PARALLEL_WRITE = 0x10
}
 Define multi-access capabilities of an ImageView. More...
 
enum class  ViewDataOrigin {
  UNKNOWN = 0 , CPU_MEMORY = 1 , DRIVE = 2 , GPU_MEMORY = 3 ,
  NETWORK = 4 , GENERATED = 5 , COMPOSITE = 6
}
 Enum which represents the different locations where view data may come from. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const DataType datatype)
 
template<typename T , size_t N>
std::ostream & operator<< (std::ostream &os, const Matrix< T, N > &m)
 Stream operator to be able to print matrices in standard streams.
 
template<typename T , size_t N>
std::ostream & operator<< (std::ostream &os, const Vector< T, N > &v)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const VectorX< T > &v)
 

Variables

template class IOLINK_API_IMPORT ArrayX< int8_t >
 
template class IOLINK_API_IMPORT ArrayX< int16_t >
 
template class IOLINK_API_IMPORT ArrayX< int32_t >
 
template class IOLINK_API_IMPORT ArrayX< int64_t >
 
template class IOLINK_API_IMPORT ArrayX< uint8_t >
 
template class IOLINK_API_IMPORT ArrayX< uint16_t >
 
template class IOLINK_API_IMPORT ArrayX< uint32_t >
 
template class IOLINK_API_IMPORT ArrayX< uint64_t >
 
template class IOLINK_API_IMPORT ArrayX< float >
 
template class IOLINK_API_IMPORT ArrayX< double >
 
template class IOLINK_API_IMPORT Matrix< float, 3 >
 
template class IOLINK_API_IMPORT Matrix< double, 3 >
 
template class IOLINK_API_IMPORT Matrix< float, 4 >
 
template class IOLINK_API_IMPORT Matrix< double, 4 >
 
template class IOLINK_API_IMPORT Region< uint64_t, 2 >
 
template class IOLINK_API_IMPORT Region< uint64_t, 3 >
 
template class IOLINK_API_IMPORT Region< uint64_t, 4 >
 
template class IOLINK_API_IMPORT RegionX< uint64_t >
 
template class IOLINK_API_IMPORT FlagSet< RandomAccessCapability >
 
template class IOLINK_API_IMPORT FlagSet< StreamAccessCapability >
 
template class IOLINK_API_IMPORT Vector< int8_t, 2 >
 
template class IOLINK_API_IMPORT Vector< int16_t, 2 >
 
template class IOLINK_API_IMPORT Vector< int32_t, 2 >
 
template class IOLINK_API_IMPORT Vector< int64_t, 2 >
 
template class IOLINK_API_IMPORT Vector< uint8_t, 2 >
 
template class IOLINK_API_IMPORT Vector< uint16_t, 2 >
 
template class IOLINK_API_IMPORT Vector< uint32_t, 2 >
 
template class IOLINK_API_IMPORT Vector< uint64_t, 2 >
 
template class IOLINK_API_IMPORT Vector< float, 2 >
 
template class IOLINK_API_IMPORT Vector< double, 2 >
 
template class IOLINK_API_IMPORT Vector< int8_t, 3 >
 
template class IOLINK_API_IMPORT Vector< int16_t, 3 >
 
template class IOLINK_API_IMPORT Vector< int32_t, 3 >
 
template class IOLINK_API_IMPORT Vector< int64_t, 3 >
 
template class IOLINK_API_IMPORT Vector< uint8_t, 3 >
 
template class IOLINK_API_IMPORT Vector< uint16_t, 3 >
 
template class IOLINK_API_IMPORT Vector< uint32_t, 3 >
 
template class IOLINK_API_IMPORT Vector< uint64_t, 3 >
 
template class IOLINK_API_IMPORT Vector< float, 3 >
 
template class IOLINK_API_IMPORT Vector< double, 3 >
 
template class IOLINK_API_IMPORT Vector< int8_t, 4 >
 
template class IOLINK_API_IMPORT Vector< int16_t, 4 >
 
template class IOLINK_API_IMPORT Vector< int32_t, 4 >
 
template class IOLINK_API_IMPORT Vector< int64_t, 4 >
 
template class IOLINK_API_IMPORT Vector< uint8_t, 4 >
 
template class IOLINK_API_IMPORT Vector< uint16_t, 4 >
 
template class IOLINK_API_IMPORT Vector< uint32_t, 4 >
 
template class IOLINK_API_IMPORT Vector< uint64_t, 4 >
 
template class IOLINK_API_IMPORT Vector< float, 4 >
 
template class IOLINK_API_IMPORT Vector< double, 4 >
 
template class IOLINK_API_IMPORT VectorX< uint8_t >
 
template class IOLINK_API_IMPORT VectorX< int8_t >
 
template class IOLINK_API_IMPORT VectorX< uint16_t >
 
template class IOLINK_API_IMPORT VectorX< int16_t >
 
template class IOLINK_API_IMPORT VectorX< uint32_t >
 
template class IOLINK_API_IMPORT VectorX< int32_t >
 
template class IOLINK_API_IMPORT VectorX< uint64_t >
 
template class IOLINK_API_IMPORT VectorX< int64_t >
 
template class IOLINK_API_IMPORT VectorX< float >
 
template class IOLINK_API_IMPORT VectorX< double >
 
template class IOLINK_API_IMPORT FlagSet< DataFrameCapability >
 
template class IOLINK_API_IMPORT FlagSet< ImageCapability >
 
template class IOLINK_API_IMPORT FlagSet< MultiImageCapability >
 
template class IOLINK_API_IMPORT FlagSet< ParallelAccessCapability >
 

Detailed Description

All IOLink symbols are enclosed in this namespace.

Enumeration Type Documentation

◆ CommonAncestorStatus

enum class iolink::CommonAncestorStatus
strong

Status of the research of a common ancestor.

Enumerator
SHARE_NO_ANCESTOR 

Views share no common ancestor at all.

SHARE_ANCESTOR 

Views share at least one common ancestor.

UNDETERMINED 

Information is not available, because the dependency tree is not complete.

◆ DataFrameCapability

enum class iolink::DataFrameCapability
strong

Capabilities of dataframes instances.

See also
DataFrameView
Enumerator
READ 

Ability to read column data.

WRITE 

Ability to write column data.

RESHAPE 

Ability to add or remove columns and rows.

◆ DataTypeId

enum class iolink::DataTypeId : uint64_t
strong

A collection of built-in data types.

Enumerator
UNKNOWN 

An opaque type.

UINT8 

8 bits unsigned integer

UINT16 

16 bits unsigned integer

UINT32 

32 bits unsigned integer

UINT64 

64 bits unsigned integer

INT8 

8 bits signed integer

INT16 

16 bits signed integer

INT32 

32 bits signed integer

INT64 

64 bits signed integer

FLOAT 

Single precision floating point.

DOUBLE 

Double precision floating point.

UTF8_STRING 

Unicode string encoded in UTF-8.

UTF16_STRING 

Unicode string encoded in UTF-16.

UTF32_STRING 

Unicode string encoded in UTF-32.

VEC2_UINT8 

A vector of 2 elements that are 8 bits unsigned integer.

VEC2_UINT16 

A vector of 2 elements that are 16 bits unsigned integer.

VEC2_UINT32 

A vector of 2 elements that are 32 bits unsigned integer.

VEC2_UINT64 

A vector of 2 elements that are 64 bits unsigned integer.

VEC2_INT8 

A vector of 2 elements that are 8 bits signed integer.

VEC2_INT16 

A vector of 2 elements that are 16 bits signed integer.

VEC2_INT32 

A vector of 2 elements that are 32 bits signed integer.

VEC2_INT64 

A vector of 2 elements that are 64 bits signed integer.

VEC2_FLOAT 

A vector of 2 elements that are single precision floating point.

VEC2_DOUBLE 

A vector of 2 elements that are double precision floating point.

VEC3_UINT8 

A vector of 2 elements that are 8 bits unsigned integer.

VEC3_UINT16 

A vector of 3 elements that are 16 bits unsigned integer.

VEC3_UINT32 

A vector of 3 elements that are 32 bits unsigned integer.

VEC3_UINT64 

A vector of 3 elements that are 64 bits unsigned integer.

VEC3_INT8 

A vector of 3 elements that are 8 bits signed integer.

VEC3_INT16 

A vector of 3 elements that are 16 bits signed integer.

VEC3_INT32 

A vector of 3 elements that are 32 bits signed integer.

VEC3_INT64 

A vector of 3 elements that are 64 bits signed integer.

VEC3_FLOAT 

A vector of 3 elements that are single precision floating point.

VEC3_DOUBLE 

A vector of 3 elements that are double precision floating point.

VEC4_UINT8 

A vector of 4 elements that are 8 bits unsigned integer.

VEC4_UINT16 

A vector of 4 elements that are 16 bits unsigned integer.

VEC4_UINT32 

A vector of 4 elements that are 32 bits unsigned integer.

VEC4_UINT64 

A vector of 4 elements that are 64 bits unsigned integer.

VEC4_INT8 

A vector of 4 elements that are 8 bits signed integer.

VEC4_INT16 

A vector of 4 elements that are 16 bits signed integer.

VEC4_INT32 

A vector of 4 elements that are 32 bits signed integer.

VEC4_INT64 

A vector of 4 elements that are 64 bits signed integer.

VEC4_FLOAT 

A vector of 4 elements that are single precision floating point.

VEC4_DOUBLE 

A vector of 4 elements that are double precision floating point.

COMPLEX_FLOAT 

A single precision floating point complex number.

COMPLEX_DOUBLE 

A double precision floating point complex number.

MATRIX2_FLOAT 

A single precision floating point 2x2 Matrix.

MATRIX2_DOUBLE 

A double precision floating point 2x2 Matrix.

MATRIX3_FLOAT 

A single precision floating point 3x3 Matrix.

MATRIX3_DOUBLE 

A double precision floating point 3x3 Matrix.

MATRIX4_FLOAT 

A single precision floating point 4x4 Matrix.

MATRIX4_DOUBLE 

A double precision floating point 4x4 Matrix.

SYM_MATRIX2_FLOAT 

A single precision floating point 2x2 symmetric Matrix.

SYM_MATRIX2_DOUBLE 

A double precision floating point 2x2 symmetric Matrix.

SYM_MATRIX3_FLOAT 

A single precision floating point 3x3 symmetric Matrix.

SYM_MATRIX3_DOUBLE 

A double precision floating point 3x3 symmetric Matrix.

◆ DataTypeInterpretation

enum class iolink::DataTypeInterpretation : uint32_t
strong

An enumeration to describe how the data should be interpreted.

Enumerator
RAW 

No particular interpretation, classic vectors and scalars.

COMPLEX 

A complex number.

A DataType intance with this interpretation should always have a dimension of 2. The first element will be the real part and the second one the imaginary part.

SQUARE_MATRIX 

A square matrix.

The dimension of DataType instances with this interpretation is the number of element in that matrix. For example, in the case of a square matrix of size 3, its dimension will be 9.

Example of layout:

| 0 | 1 | 2 | | 3 | 4 | 5 | | 6 | 7 | 8 |

SYMMETRIC_MATRIX 

A symmetric matrix.

The dimension of DataType instances with this interpretation is the number of element in that matrix. For example, in the case of a symmetric matrix of size 3, its dimension will be 6.

Example of layout:

| 0 | 1 | 2 | | | 3 | 4 | | | | 5 |

◆ ImageCapability

enum class iolink::ImageCapability
strong

Define capabilities of an ImageView.

Enumerator
READ 

Data and metadata read capability.

WRITE 

Data, metadata, and properties write capability.

RESHAPE 

Reshaping capabilities.

MEMORY_ACCESS 

Accessing internal CPU memory buffer.

READ_WRITE 

Combines READ and WRITE.

◆ ImageDimension

enum class iolink::ImageDimension
strong

Enum used in ImageType to represent each dimension of an Image.

Enumerator
COLUMN 

represents a image width

ROW 

represents a image height

SLICE 

represents depth for a volumetric image

CHANNEL 

represents channel planes of a multi-spectral image

SEQUENCE 

represents the temporality for a sequence of images

◆ ImageInterpretation

enum class iolink::ImageInterpretation
strong

Interpretation of an Image.

Enumerator
UNKNOWN 

No interpretation at all, only raw data.

GRAYSCALE 

A shade of grey, from black to white.

LABEL 

Indices corresponding to a label.

BINARY 

A boolean.

CIE_XYZ 

CIE XYZ color space (CIE 1931)

CIE_XYZ_CHROMATICITY 

CIE XYZ color with chromaticity coordinates.

CIE_UVW 

CIE U*V*W* color space (CIE 1964)

CIE_LUV 

CIE L*u*v* color space (CIE 1976)

CIE_LAB 

CIE L*a*b* color space (CIE 1976)

RGB 

RGB color (CIE 1931)

RGB_CHROMATICITY 

RGB color with chromaticity coordinates.

SRGB 

Standard RGB color.

YUV 

YUV color.

YCC 

YCbCr color (PAL)

Alias: YPbPr

YIQ 

YIQ color (NTSC)

YDD 

YDbDr color (SECAM & PAL-N)

HSL 

HSL color (Hue, Saturation, Lightness)

Aliases: HLS, HSI

HSV 

HSV color (Hue, Saturation, Value)

Alias: HSB

CMYK 

CMYK color (Cyan, Magenta, Yellow, blacK)

MULTISPECTRAL 

Multiple layers of spectral data.

◆ LogLevel

enum class iolink::LogLevel
strong

The level of logs to display.

When a level is activated, all levels above will be displayed too.

Example: activating WARNING level will display CRITICAL, ERROR, and WARNING logs.

Enumerator
LOG_OFF 

No logging at all.

LOG_CRITICAL 

Severe errors that cause premature termination.

LOG_ERR 

Runtime errors or unexpected conditions.

LOG_WARNING 

Use of deprecated APIs, poor use of API, 'almost' errors, other runtime situations that are undesirable or unexpected, but not necessarily "wrong".

LOG_INFO 

Interesting runtime events (startup/shutdown).

LOG_DEBUG 

Detailed information on the flow through the system.

LOG_TRACE 

Only for "tracing" the code and trying to find one part of a function specifically.

◆ MemoryLayout

enum class iolink::MemoryLayout
strong

This enum indicates how a multidimensionnal array is stored in continuous memory.

Enumerator
UNKNOWN 

Unknown layout.

In the C layout the first dimension will have the bigger stride.

It is often called row major.

The dimensions' indices are in reverse order when accessing memory in that layout: array[j][i]

| 11 | 12 | 13 |
| 21 | 22 | 23 |

Would be stored as such: {11, 21, 12, 22, 13, 23}

FORTRAN 

In the Fortran layout the first dimension will have the lesser stride.

It is often called column major.

The dimensions' indices are in normal order when accessing memory in that layout: array[i][j]

| 11 | 12 | 13 |
| 21 | 22 | 23 |

Would be stored as such: {11, 12, 13, 21, 22, 23}

◆ MultiImageCapability

enum class iolink::MultiImageCapability
strong

Define capabilities of an MultiImageView.

Enumerator
READ 

frames access

WRITE 

frames addition and modification

READ_WRITE 

Combines READ and WRITE.

◆ ParallelAccessCapability

Define multi-access capabilities of an ImageView.

Enumerator
THREAD_SAFE 

Image can be multi-accessed (READ and/or WRITE) without any race condition, but with no control on thread execution order.

Are concerned the following methods:

  • read
  • readRegion
  • write
  • writeRegion
  • readTile
  • writeTile
PARALLEL_TILE_READ 

Hints that reading tiles in parallel will provide performance benefits.

But remember that parallel calls on the same tile will not provide benefits, and can cause race conditions if there is no THREAD_SAFE capability. Is concerned the following method:

  • readTile
PARALLEL_TILE_WRITE 

Hints that writing tiles in parallel will provide performance benefits, But remember that parallel calls on the same tile will not provide benefits, and can cause race conditions if there is no THREAD_SAFE capability.

Is concerned the following method:

  • writeTile
PARALLEL_READ 

Hints that regions of the image can be read in parallel with performance benefits.

But parallel access to overlapping regions in parallel will not provide the optimum performance, and even race conditions if there is no THREAD_SAFE capability. Is concerned the following method:

  • readRegion
PARALLEL_WRITE 

Hints that regions of the image can be written in parallel with performance benefits.

But parallel access to overlapping regions in parallel will not provide the optimum performance, and even race conditions if there is no THREAD_SAFE capability. Is concerned the following method:

  • writeRegion

◆ PrimitiveTypeId

enum class iolink::PrimitiveTypeId : uint16_t
strong

Enum to describe the primitive family of a data type.

Some examples:

  • UINT16, UINT32, and VEC3_UINT8 are all USIGNED_INTEGER
  • FLOAT and DOUBLE are FLOATING_POINT
  • UTF8_STRING and UTF16_STRING are UNICODE_STRING
Enumerator
UNKNOWN 

An opaque type, that the no one knows about.

UNSIGNED_INTEGER 

A classic integer number.

SIGNED_INTEGER 

An integer number, using the two complement for negative numbers.

FLOATING_POINT 

A floating point number, encoded according to IEEE 754.

UNICODE_STRING 

A text string, using the Unicode coding system.

◆ RandomAccessCapability

enum class iolink::RandomAccessCapability
strong

Capabilities of a RandomAccess.

Enumerator
READ 

Data can be read.

WRITE 

Data can be written.

RESIZE 

Data can be resized.

MEMORY_ACCESS 

Accessing internal CPU memory buffer.

READ_WRITE 

combination of READ and WRITE

WRITE_RESIZE 

combination of WRITE and RESIZE

◆ SeekOrigin

enum class iolink::SeekOrigin
strong

Position indicator for seek method.

Enumerator
BEGIN 

Begining of the stream.

CURRENT 

Current position of the stream.

END 

End of the stream.

◆ StreamAccessCapability

enum class iolink::StreamAccessCapability
strong

Capabilities of a StreamAccess.

Enumerator
READ 

Data can be read.

WRITE 

Data can be written.

SEEK 

Cursor for read/write can be moved.

MEMORY_ACCESS 

Accessing internal CPU memory buffer.

READ_WRITE 

combination of READ and WRITE

READ_SEEK 

combination of READ and SEEK

WRITE_SEEK 

combination of WRITE and SEEK

◆ ViewDataOrigin

enum class iolink::ViewDataOrigin
strong

Enum which represents the different locations where view data may come from.

Enumerator
UNKNOWN 

The origin of data cannot be determined.

CPU_MEMORY 

Data is located in CPU memory.

DRIVE 

Data is located on a drive (HDD, SSD, CD, etc.).

GPU_MEMORY 

Data is located in GPU memory.

NETWORK 

Data are retrieved through the network.

GENERATED 

Data is generated and never stored.

COMPOSITE 

Data come from many sources.