Rerun C++ SDK
Loading...
Searching...
No Matches
rerun::datatypes Namespace Reference

All built-in datatypes. See Types in the Rerun manual. More...

Classes

struct  Angle
 Datatype: Angle in radians. More...
 
struct  AnnotationInfo
 Datatype: Annotation info annotating a class id or key-point id. More...
 
struct  Blob
 Datatype: A binary blob of data. More...
 
struct  Bool
 Datatype: A single boolean. More...
 
struct  ClassDescription
 Datatype: The description of a semantic Class. More...
 
struct  ClassDescriptionMapElem
 Datatype: A helper type for mapping datatypes::ClassIds to class descriptions. More...
 
struct  ClassId
 Datatype: A 16-bit ID representing a type of semantic class. More...
 
struct  DVec2D
 Datatype: A double-precision vector in 2D space. More...
 
struct  EntityPath
 Datatype: A path to an entity in the ChunkStore. More...
 
struct  Float32
 Datatype: A single-precision 32-bit IEEE 754 floating point number. More...
 
struct  Float64
 Datatype: A double-precision 64-bit IEEE 754 floating point number. More...
 
struct  ImageFormat
 Datatype: The metadata describing the contents of a components::ImageBuffer. More...
 
struct  KeypointId
 Datatype: A 16-bit ID representing a type of semantic keypoint within a class. More...
 
struct  KeypointPair
 Datatype: A connection between two datatypes::KeypointIds. More...
 
struct  Mat3x3
 Datatype: A 3x3 Matrix. More...
 
struct  Mat4x4
 Datatype: A 4x4 Matrix. More...
 
struct  Plane3D
 Datatype: An infinite 3D plane represented by a unit normal vector and a distance. More...
 
struct  Quaternion
 Datatype: A Quaternion represented by 4 real numbers. More...
 
struct  Range1D
 Datatype: A 1D range, specifying a lower and upper bound. More...
 
struct  Range2D
 Datatype: An Axis-Aligned Bounding Box in 2D space, implemented as the minimum and maximum corners. More...
 
struct  Rgba32
 Datatype: An RGBA color with unmultiplied/separate alpha, in sRGB gamma space with linear alpha. More...
 
struct  RotationAxisAngle
 Datatype: 3D rotation represented by a rotation around a given axis. More...
 
struct  TensorBuffer
 Datatype: The underlying storage for archetypes::Tensor. More...
 
struct  TensorData
 Datatype: An N-dimensional array of numbers. More...
 
struct  TensorDimension
 Datatype: A single dimension within a multi-dimensional tensor. More...
 
struct  TensorDimensionIndexSelection
 Datatype: Indexing a specific tensor dimension. More...
 
struct  TensorDimensionSelection
 Datatype: Selection of a single tensor dimension. More...
 
struct  TimeInt
 Datatype: A 64-bit number describing either nanoseconds OR sequence numbers. More...
 
struct  TimeRange
 Datatype: Visible time range bounds for a specific timeline. More...
 
struct  TimeRangeBoundary
 Datatype: Left or right boundary of a time range. More...
 
struct  UInt16
 Datatype: A 16bit unsigned integer. More...
 
struct  UInt32
 Datatype: A 32bit unsigned integer. More...
 
struct  UInt64
 Datatype: A 64bit unsigned integer. More...
 
struct  Utf8
 Datatype: A string of text, encoded as UTF-8. More...
 
struct  Utf8Pair
 Datatype: Stores a tuple of UTF-8 strings. More...
 
struct  Uuid
 Datatype: A 16-byte UUID. More...
 
struct  UVec2D
 Datatype: A uint32 vector in 2D space. More...
 
struct  UVec3D
 Datatype: A uint32 vector in 3D space. More...
 
struct  UVec4D
 Datatype: A uint vector in 4D space. More...
 
struct  Vec2D
 Datatype: A vector in 2D space. More...
 
struct  Vec3D
 Datatype: A vector in 3D space. More...
 
struct  Vec4D
 Datatype: A vector in 4D space. More...
 
struct  VideoTimestamp
 Datatype: Presentation timestamp within a archetypes::AssetVideo. More...
 
struct  ViewCoordinates
 Datatype: How we interpret the coordinate system of an entity/space. More...
 
struct  VisibleTimeRange
 Datatype: Visible time range bounds for a specific timeline. More...
 

Enumerations

enum class  ChannelDatatype : uint8_t {
  U8 = 6 , I8 = 7 , U16 = 8 , I16 = 9 ,
  U32 = 10 , I32 = 11 , U64 = 12 , I64 = 13 ,
  F16 = 33 , F32 = 34 , F64 = 35
}
 Datatype: The innermost datatype of an image. More...
 
enum class  ColorModel : uint8_t {
  L = 1 , RGB = 2 , RGBA = 3 , BGR = 4 ,
  BGRA = 5
}
 Datatype: Specified what color components are present in an archetypes::Image. More...
 
enum class  PixelFormat : uint8_t {
  Y_U_V12_LimitedRange = 20 , NV12 = 26 , YUY2 = 27 , Y8_FullRange = 30 ,
  Y_U_V24_LimitedRange = 39 , Y_U_V24_FullRange = 40 , Y8_LimitedRange = 41 , Y_U_V12_FullRange = 44 ,
  Y_U_V16_LimitedRange = 49 , Y_U_V16_FullRange = 50
}
 Datatype: Specifieds a particular format of an archetypes::Image. More...
 

Detailed Description

All built-in datatypes. See Types in the Rerun manual.

Enumeration Type Documentation

◆ ChannelDatatype

enum class rerun::datatypes::ChannelDatatype : uint8_t
strong

Datatype: The innermost datatype of an image.

How individual color channel components are encoded.

Enumerator
U8 

8-bit unsigned integer.

I8 

8-bit signed integer.

U16 

16-bit unsigned integer.

I16 

16-bit signed integer.

U32 

32-bit unsigned integer.

I32 

32-bit signed integer.

U64 

64-bit unsigned integer.

I64 

64-bit signed integer.

F16 

16-bit IEEE-754 floating point, also known as half.

F32 

32-bit IEEE-754 floating point, also known as float or single.

F64 

64-bit IEEE-754 floating point, also known as double.

◆ ColorModel

enum class rerun::datatypes::ColorModel : uint8_t
strong

Datatype: Specified what color components are present in an archetypes::Image.

This combined with datatypes::ChannelDatatype determines the pixel format of an image.

Enumerator

Grayscale luminance intencity/brightness/value, sometimes called Y

RGB 

Red, Green, Blue.

RGBA 

Red, Green, Blue, Alpha.

BGR 

Blue, Green, Red.

BGRA 

Blue, Green, Red, Alpha.

◆ PixelFormat

enum class rerun::datatypes::PixelFormat : uint8_t
strong

Datatype: Specifieds a particular format of an archetypes::Image.

Most images can be described by a datatypes::ColorModel and a datatypes::ChannelDatatype, e.g. RGB and U8 respectively.

However, some image formats has chroma downsampling and/or use differing number of bits per channel, and that is what this datatypes::PixelFormat is for.

All these formats support random access.

For more compressed image formats, see archetypes::EncodedImage.

Enumerator
Y_U_V12_LimitedRange 

Y_U_V12 is a YUV 4:2:0 fully planar YUV format without chroma downsampling, also known as I420.

    This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240].

    First comes entire image in Y in one plane, followed by the U and V planes, which each only have half
    the resolution of the Y plane. 
NV12 

NV12 (aka Y_UV12) is a YUV 4:2:0 chroma downsampled form at with 12 bits per pixel and 8 bits per channel.

    This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240].

    First comes entire image in Y in one plane,
    followed by a plane with interleaved lines ordered as U0, V0, U1, V1, etc. 
YUY2 

YUY2 (aka 'YUYV', 'YUYV16' or 'NV21'), is a YUV 4:2:2 chroma downsampled format with 16 bits per pixel and 8 bits per channel.

    This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240].

    The order of the channels is Y0, U0, Y1, V0, all in the same plane. 
Y8_FullRange 

Monochrome Y plane only, essentially a YUV 4:0:0 planar format.

    Also known as just "gray". This is virtually identical to a 8bit luminance/grayscale (see `datatypes::ColorModel`).

    This uses entire range YUV, i.e. Y is expected to be within [0, 255].
    (as opposed to "limited range" YUV as used e.g. in NV12). 
Y_U_V24_LimitedRange 

Y_U_V24 is a YUV 4:4:4 fully planar YUV format without chroma downsampling, also known as I444.

    This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240].

    First comes entire image in Y in one plane, followed by the U and V planes. 
Y_U_V24_FullRange 

Y_U_V24 is a YUV 4:4:4 fully planar YUV format without chroma downsampling, also known as I444.

    This uses full range YUV with all components ranging from 0 to 255
    (as opposed to "limited range" YUV as used e.g. in NV12).

    First comes entire image in Y in one plane, followed by the U and V planes. 
Y8_LimitedRange 

Monochrome Y plane only, essentially a YUV 4:0:0 planar format.

    Also known as just "gray".

    This uses limited range YUV, i.e. Y is expected to be within [16, 235].
    If not for this range limitation/remapping, this is almost identical to 8bit luminace/grayscale (see `datatypes::ColorModel`). 
Y_U_V12_FullRange 

Y_U_V12 is a YUV 4:2:0 fully planar YUV format without chroma downsampling, also known as I420.

    This uses full range YUV with all components ranging from 0 to 255
    (as opposed to "limited range" YUV as used e.g. in NV12).

    First comes entire image in Y in one plane, followed by the U and V planes, which each only have half
    the resolution of the Y plane. 
Y_U_V16_LimitedRange 

Y_U_V16 is a YUV 4:2:2 fully planar YUV format without chroma downsampling, also known as I422.

    This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240].

    First comes entire image in Y in one plane, followed by the U and V planes, which each only have half
    the horizontal resolution of the Y plane. 
Y_U_V16_FullRange 

Y_U_V16 is a YUV 4:2:2 fully planar YUV format without chroma downsampling, also known as I422.

    This uses full range YUV with all components ranging from 0 to 255
    (as opposed to "limited range" YUV as used e.g. in NV12).

    First comes entire image in Y in one plane, followed by the U and V planes, which each only have half
    the horizontal resolution of the Y plane.