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

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

Classes

struct  AbsoluteTimeRange
 Datatype: Two datatypes::TimeInt describing a range of time. More...
 
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  ChannelCountPair
 Datatype: A pair representing a channel ID and its associated message count. 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  IVec3D
 Datatype: An int32 vector in 3D space. 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  SphericalHarmonics3Rgb
 Datatype: Spherical harmonics coefficients of degrees 1 through 3 for RGB, as 15 half-precision RGB triples. More...
 
struct  TensorBuffer
 Datatype: The underlying storage for archetypes::Tensor. More...
 
struct  TensorData
 Datatype: An N-dimensional array of numbers. 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: An orientation convention for three-dimensional coordinates. 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...
 
enum class  ViewDir : uint8_t {
  Up = 1 , Down = 2 , Right = 3 , Left = 4 ,
  Forward = 5 , Back = 6
}
 Datatype: The six cardinal directions for 3D view-space. 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. 

◆ ViewDir

enum class rerun::datatypes::ViewDir : uint8_t
strong

Datatype: The six cardinal directions for 3D view-space.

Note that these are abstract directions and do on their own not correspond to any specific coordinate system or numerical values.

Enumerator
Up 

Up.

Down 

Down.

Right 

Right.

Left 

Left.

Forward 

Forward.

Back 

Back.