Skip to content

Latest commit

 

History

History

schemas

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Foxglove schemas

See Foxglove Schemas documentation.

All schemas are generated from schemas.ts.

Contents


enum LineType

An enumeration indicating how input points should be interpreted to create lines

name value description
LINE_STRIP 0 Connected line segments: 0-1, 1-2, ..., (n-1)-n
LINE_LOOP 1 Closed polygon: 0-1, 1-2, ..., (n-1)-n, n-0
LINE_LIST 2 Individual line segments: 0-1, 2-3, 4-5, ...

enum LogLevel

Log level

name value description
UNKNOWN 0
DEBUG 1
INFO 2
WARNING 3
ERROR 4
FATAL 5

enum NumericType

Numeric type

name value description
UNKNOWN 0
UINT8 1
INT8 2
UINT16 3
INT16 4
UINT32 5
INT32 6
FLOAT32 7
FLOAT64 8

enum PointsAnnotationType

Type of points annotation

name value description
UNKNOWN 0
POINTS 1 Individual points: 0, 1, 2, ...
LINE_LOOP 2 Closed polygon: 0-1, 1-2, ..., (n-1)-n, n-0
LINE_STRIP 3 Connected line segments: 0-1, 1-2, ..., (n-1)-n
LINE_LIST 4 Individual line segments: 0-1, 2-3, 4-5, ...

enum PositionCovarianceType

Type of position covariance

name value description
UNKNOWN 0
APPROXIMATED 1
DIAGONAL_KNOWN 2
KNOWN 3

enum SceneEntityDeletionType

An enumeration indicating which entities should match a SceneEntityDeletion command

name value description
MATCHING_ID 0 Delete the existing entity on the same topic that has the provided id
ALL 1 Delete all existing entities on the same topic

ArrowPrimitive

A primitive representing an arrow

field type description
pose

Pose

Position of the arrow's tail and orientation of the arrow. Identity orientation means the arrow points in the +x direction.

shaft_length

float64

Length of the arrow shaft

shaft_diameter

float64

Diameter of the arrow shaft

head_length

float64

Length of the arrow head

head_diameter

float64

Diameter of the arrow head

color

Color

Color of the arrow

CameraCalibration

Camera calibration parameters

field type description
timestamp

time

Timestamp of calibration data

frame_id

string

Frame of reference for the camera. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.

width

uint32

Image width

height

uint32

Image height

distortion_model

string

Name of distortion model

Supported parameters: plumb_bob (k1, k2, p1, p2, k3) and rational_polynomial (k1, k2, p1, p2, k3, k4, k5, k6). Distortion models are based on OpenCV's pinhole camera model. This is the same implementation used by ROS

D

float64[]

Distortion parameters

K

float64[9]

Intrinsic camera matrix (3x3 row-major matrix)

A 3x3 row-major matrix for the raw (distorted) image.

Projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx, fy) and principal point (cx, cy).

    [fx  0 cx]
K = [ 0 fy cy]
    [ 0  0  1]
R

float64[9]

Rectification matrix (stereo cameras only, 3x3 row-major matrix)

A rotation matrix aligning the camera coordinate system to the ideal stereo image plane so that epipolar lines in both stereo images are parallel.

P

float64[12]

Projection/camera matrix (3x4 row-major matrix)

    [fx'  0  cx' Tx]
P = [ 0  fy' cy' Ty]
    [ 0   0   1   0]

By convention, this matrix specifies the intrinsic (camera) matrix of the processed (rectified) image. That is, the left 3x3 portion is the normal camera intrinsic matrix for the rectified image.

It projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx', fy') and principal point (cx', cy') - these may differ from the values in K.

For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.

For a stereo pair, the fourth column [Tx Ty 0]' is related to the position of the optical center of the second camera in the first camera's frame. We assume Tz = 0 so both cameras are in the same stereo image plane. The first camera always has Tx = Ty = 0. For the right (second) camera of a horizontal stereo pair, Ty = 0 and Tx = -fx' * B, where B is the baseline between the cameras.

Given a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:

[u v w]' = P * [X Y Z 1]'
       x = u / w
       y = v / w

This holds for both images of a stereo pair.

CircleAnnotation

A circle annotation on a 2D image

field type description
timestamp

time

Timestamp of circle

position

Point2

Center of the circle in 2D image coordinates (pixels)

diameter

float64

Circle diameter in pixels

thickness

float64

Line thickness in pixels

fill_color

Color

Fill color

outline_color

Color

Outline color

Color

A color in RGBA format

field type description
r

float64

Red value between 0 and 1

g

float64

Green value between 0 and 1

b

float64

Blue value between 0 and 1

a

float64

Alpha value between 0 and 1

CompressedImage

A compressed image

field type description
timestamp

time

Timestamp of image

frame_id

string

Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.

data

bytes

Compressed image data

format

string

Image format

Supported values: image media types supported by Chrome, such as webp, jpeg, png

CompressedVideo

A single frame of a compressed video bitstream

field type description
timestamp

time

Timestamp of video frame

frame_id

string

Frame of reference for the video.

The origin of the frame is the optical center of the camera. +x points to the right in the video, +y points down, and +z points into the plane of the video.

data

bytes

Compressed video frame data.

For packet-based video codecs this data must begin and end on packet boundaries (no partial packets), and must contain enough video packets to decode exactly one image (either a keyframe or delta frame). Note: Foxglove does not support video streams that include B frames because they require lookahead.

format

string

Video format.

Supported values: h264 (Annex B formatted data only)

CubePrimitive

A primitive representing a cube or rectangular prism

field type description
pose

Pose

Position of the center of the cube and orientation of the cube

size

Vector3

Size of the cube along each axis

color

Color

Color of the cube

CylinderPrimitive

A primitive representing a cylinder, elliptic cylinder, or truncated cone

field type description
pose

Pose

Position of the center of the cylinder and orientation of the cylinder. The flat face(s) are perpendicular to the z-axis.

size

Vector3

Size of the cylinder's bounding box

bottom_scale

float64

0-1, ratio of the diameter of the cylinder's bottom face (min z) to the bottom of the bounding box

top_scale

float64

0-1, ratio of the diameter of the cylinder's top face (max z) to the top of the bounding box

color

Color

Color of the cylinder

FrameTransform

A transform between two reference frames in 3D space

field type description
timestamp

time

Timestamp of transform

parent_frame_id

string

Name of the parent frame

child_frame_id

string

Name of the child frame

translation

Vector3

Translation component of the transform

rotation

Quaternion

Rotation component of the transform

FrameTransforms

An array of FrameTransform messages

field type description
transforms

FrameTransform[]

Array of transforms

GeoJSON

GeoJSON data for annotating maps

field type description
geojson

string

GeoJSON data encoded as a UTF-8 string

Grid

A 2D grid of data

field type description
timestamp

time

Timestamp of grid

frame_id

string

Frame of reference

pose

Pose

Origin of grid's corner relative to frame of reference; grid is positioned in the x-y plane relative to this origin

column_count

uint32

Number of grid columns

cell_size

Vector2

Size of single grid cell along x and y axes, relative to pose

row_stride

uint32

Number of bytes between rows in data

cell_stride

uint32

Number of bytes between cells within a row in data

fields

PackedElementField[]

Fields in data. red, green, blue, and alpha are optional for customizing the grid's color.

data

bytes

Grid cell data, interpreted using fields, in row-major (y-major) order

ImageAnnotations

Array of annotations for a 2D image

field type description
circles

CircleAnnotation[]

Circle annotations

points

PointsAnnotation[]

Points annotations

texts

TextAnnotation[]

Text annotations

KeyValuePair

A key with its associated value

field type description
key

string

Key

value

string

Value

LaserScan

A single scan from a planar laser range-finder

field type description
timestamp

time

Timestamp of scan

frame_id

string

Frame of reference

pose

Pose

Origin of scan relative to frame of reference; points are positioned in the x-y plane relative to this origin; angles are interpreted as counterclockwise rotations around the z axis with 0 rad being in the +x direction

start_angle

float64

Bearing of first point, in radians

end_angle

float64

Bearing of last point, in radians

ranges

float64[]

Distance of detections from origin; assumed to be at equally-spaced angles between start_angle and end_angle

intensities

float64[]

Intensity of detections

LinePrimitive

A primitive representing a series of points connected by lines

field type description
type

enum LineType

Drawing primitive to use for lines

pose

Pose

Origin of lines relative to reference frame

thickness

float64

Line thickness

scale_invariant

boolean

Indicates whether thickness is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false)

points

Point3[]

Points along the line

color

Color

Solid color to use for the whole line. One of color or colors must be provided.

colors

Color[]

Per-point colors (if specified, must have the same length as points). One of color or colors must be provided.

indices

uint32[]

Indices into the points and colors attribute arrays, which can be used to avoid duplicating attribute data.

If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of points provided).

LocationFix

A navigation satellite fix for any Global Navigation Satellite System

field type description
timestamp

time

Timestamp of the message

frame_id

string

Frame for the sensor. Latitude and longitude readings are at the origin of the frame.

latitude

float64

Latitude in degrees

longitude

float64

Longitude in degrees

altitude

float64

Altitude in meters

position_covariance

float64[9]

Position covariance (m^2) defined relative to a tangential plane through the reported position. The components are East, North, and Up (ENU), in row-major order.

position_covariance_type

enum PositionCovarianceType

If position_covariance is available, position_covariance_type must be set to indicate the type of covariance.

Log

A log message

field type description
timestamp

time

Timestamp of log message

level

enum LogLevel

Log level

message

string

Log message

name

string

Process or node name

file

string

Filename

line

uint32

Line number in the file

ModelPrimitive

A primitive representing a 3D model file loaded from an external URL or embedded data

field type description
pose

Pose

Origin of model relative to reference frame

scale

Vector3

Scale factor to apply to the model along each axis

color

Color

Solid color to use for the whole model if override_color is true.

override_color

boolean

Whether to use the color specified in color instead of any materials embedded in the original model.

url

string

URL pointing to model file. One of url or data should be provided.

media_type

string

Media type of embedded model (e.g. model/gltf-binary). Required if data is provided instead of url. Overrides the inferred media type if url is provided.

data

bytes

Embedded model. One of url or data should be provided. If data is provided, media_type must be set to indicate the type of the data.

PackedElementField

A field present within each element in a byte array of packed elements.

field type description
name

string

Name of the field

offset

uint32

Byte offset from start of data buffer

type

enum NumericType

Type of data in the field. Integers are stored using little-endian byte order.

Point2

A point representing a position in 2D space

field type description
x

float64

x coordinate position

y

float64

y coordinate position

Point3

A point representing a position in 3D space

field type description
x

float64

x coordinate position

y

float64

y coordinate position

z

float64

z coordinate position

PointCloud

A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.

field type description
timestamp

time

Timestamp of point cloud

frame_id

string

Frame of reference

pose

Pose

The origin of the point cloud relative to the frame of reference

point_stride

uint32

Number of bytes between points in the data

fields

PackedElementField[]

Fields in data. At least 2 coordinate fields from x, y, and z are required for each point's position; red, green, blue, and alpha are optional for customizing each point's color.

data

bytes

Point data, interpreted using fields

PointsAnnotation

An array of points on a 2D image

field type description
timestamp

time

Timestamp of annotation

type

enum PointsAnnotationType

Type of points annotation to draw

points

Point2[]

Points in 2D image coordinates (pixels)

outline_color

Color

Outline color

outline_colors

Color[]

Per-point colors, if type is POINTS, or per-segment stroke colors, if type is LINE_LIST, LINE_STRIP or LINE_LOOP.

fill_color

Color

Fill color

thickness

float64

Stroke thickness in pixels

Pose

A position and orientation for an object or reference frame in 3D space

field type description
position

Vector3

Point denoting position in 3D space

orientation

Quaternion

Quaternion denoting orientation in 3D space

PoseInFrame

A timestamped pose for an object or reference frame in 3D space

field type description
timestamp

time

Timestamp of pose

frame_id

string

Frame of reference for pose position and orientation

pose

Pose

Pose in 3D space

PosesInFrame

An array of timestamped poses for an object or reference frame in 3D space

field type description
timestamp

time

Timestamp of pose

frame_id

string

Frame of reference for pose position and orientation

poses

Pose[]

Poses in 3D space

Quaternion

A quaternion representing a rotation in 3D space

field type description
x

float64

x value

y

float64

y value

z

float64

z value

w

float64

w value

RawImage

A raw image

field type description
timestamp

time

Timestamp of image

frame_id

string

Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.

width

uint32

Image width

height

uint32

Image height

encoding

string

Encoding of the raw image data

Supported values: 8UC1, 8UC3, 16UC1, 32FC1, bayer_bggr8, bayer_gbrg8, bayer_grbg8, bayer_rggb8, bgr8, bgra8, mono8, mono16, rgb8, rgba8, uyvy or yuv422, yuyv or yuv422_yuy2

step

uint32

Byte length of a single row

data

bytes

Raw image data

SceneEntity

A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference.

field type description
timestamp

time

Timestamp of the entity

frame_id

string

Frame of reference

id

string

Identifier for the entity. A entity will replace any prior entity on the same topic with the same id.

lifetime

duration

Length of time (relative to timestamp) after which the entity should be automatically removed. Zero value indicates the entity should remain visible until it is replaced or deleted.

frame_locked

boolean

Whether the entity should keep its location in the fixed frame (false) or follow the frame specified in frame_id as it moves relative to the fixed frame (true)

metadata

KeyValuePair[]

Additional user-provided metadata associated with the entity. Keys must be unique.

arrows

ArrowPrimitive[]

Arrow primitives

cubes

CubePrimitive[]

Cube primitives

spheres

SpherePrimitive[]

Sphere primitives

cylinders

CylinderPrimitive[]

Cylinder primitives

lines

LinePrimitive[]

Line primitives

triangles

TriangleListPrimitive[]

Triangle list primitives

texts

TextPrimitive[]

Text primitives

models

ModelPrimitive[]

Model primitives

SceneEntityDeletion

Command to remove previously published entities

field type description
timestamp

time

Timestamp of the deletion. Only matching entities earlier than this timestamp will be deleted.

type

enum SceneEntityDeletionType

Type of deletion action to perform

id

string

Identifier which must match if type is MATCHING_ID.

SceneUpdate

An update to the entities displayed in a 3D scene

field type description
deletions

SceneEntityDeletion[]

Scene entities to delete

entities

SceneEntity[]

Scene entities to add or replace

SpherePrimitive

A primitive representing a sphere or ellipsoid

field type description
pose

Pose

Position of the center of the sphere and orientation of the sphere

size

Vector3

Size (diameter) of the sphere along each axis

color

Color

Color of the sphere

TextAnnotation

A text label on a 2D image

field type description
timestamp

time

Timestamp of annotation

position

Point2

Bottom-left origin of the text label in 2D image coordinates (pixels)

text

string

Text to display

font_size

float64

Font size in pixels

text_color

Color

Text color

background_color

Color

Background fill color

TextPrimitive

A primitive representing a text label

field type description
pose

Pose

Position of the center of the text box and orientation of the text. Identity orientation means the text is oriented in the xy-plane and flows from -x to +x.

billboard

boolean

Whether the text should respect pose.orientation (false) or always face the camera (true)

font_size

float64

Font size (height of one line of text)

scale_invariant

boolean

Indicates whether font_size is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false)

color

Color

Color of the text

text

string

Text

TriangleListPrimitive

A primitive representing a set of triangles or a surface tiled by triangles

field type description
pose

Pose

Origin of triangles relative to reference frame

points

Point3[]

Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...)

color

Color

Solid color to use for the whole shape. One of color or colors must be provided.

colors

Color[]

Per-vertex colors (if specified, must have the same length as points). One of color or colors must be provided.

indices

uint32[]

Indices into the points and colors attribute arrays, which can be used to avoid duplicating attribute data.

If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of points provided).

Vector2

A vector in 2D space that represents a direction only

field type description
x

float64

x coordinate length

y

float64

y coordinate length

Vector3

A vector in 3D space that represents a direction only

field type description
x

float64

x coordinate length

y

float64

y coordinate length

z

float64

z coordinate length