Foxglove Technologies · Schema
foxglove.VoxelGrid
A 3D grid of data
RoboticsObservabilityVisualizationData PlatformPhysical AIAutonomyFleet ManagementDeveloper ToolsMCAPROS
Properties
| Name | Type | Description |
|---|---|---|
| timestamp | object | Timestamp of grid |
| frame_id | string | Frame of reference |
| pose | object | Origin of the grid’s lower-front-left corner in the reference frame. The grid’s pose is defined relative to this corner, so an untransformed grid with an identity orientation has this corner at the or |
| row_count | integer | Number of grid rows |
| column_count | integer | Number of grid columns |
| cell_size | object | Size of single grid cell along x, y, and z axes, relative to `pose` |
| slice_stride | integer | Number of bytes between depth slices in `data` |
| row_stride | integer | Number of bytes between rows in `data` |
| cell_stride | integer | Number of bytes between cells within a row in `data` |
| fields | array | Fields in `data`. `red`, `green`, `blue`, and `alpha` are optional for customizing the grid's color. |
| data | string | Grid cell data, interpreted using `fields`, in depth-major, row-major (Z-Y-X) order. For the data element starting at byte offset i, the coordinates of its corner closest to the origin will be: - z = |
JSON Schema
{
"title": "foxglove.VoxelGrid",
"description": "A 3D grid of data",
"$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
"type": "object",
"properties": {
"timestamp": {
"type": "object",
"title": "time",
"properties": {
"sec": {
"type": "integer",
"minimum": 0
},
"nsec": {
"type": "integer",
"minimum": 0,
"maximum": 999999999
}
},
"description": "Timestamp of grid"
},
"frame_id": {
"type": "string",
"description": "Frame of reference"
},
"pose": {
"title": "foxglove.Pose",
"description": "Origin of the grid’s lower-front-left corner in the reference frame. The grid’s pose is defined relative to this corner, so an untransformed grid with an identity orientation has this corner at the origin.",
"type": "object",
"properties": {
"position": {
"title": "foxglove.Vector3",
"description": "Point denoting position in 3D space",
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "x component"
},
"y": {
"type": "number",
"description": "y component"
},
"z": {
"type": "number",
"description": "z component"
}
},
"required": [
"x",
"y",
"z"
]
},
"orientation": {
"title": "foxglove.Quaternion",
"description": "Quaternion denoting orientation in 3D space",
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "x value"
},
"y": {
"type": "number",
"description": "y value"
},
"z": {
"type": "number",
"description": "z value"
},
"w": {
"type": "number",
"description": "w value"
}
},
"required": [
"x",
"y",
"z",
"w"
]
}
},
"required": [
"position",
"orientation"
]
},
"row_count": {
"type": "integer",
"minimum": 0,
"description": "Number of grid rows"
},
"column_count": {
"type": "integer",
"minimum": 0,
"description": "Number of grid columns"
},
"cell_size": {
"title": "foxglove.Vector3",
"description": "Size of single grid cell along x, y, and z axes, relative to `pose`",
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "x component"
},
"y": {
"type": "number",
"description": "y component"
},
"z": {
"type": "number",
"description": "z component"
}
},
"required": [
"x",
"y",
"z"
]
},
"slice_stride": {
"type": "integer",
"minimum": 0,
"description": "Number of bytes between depth slices in `data`"
},
"row_stride": {
"type": "integer",
"minimum": 0,
"description": "Number of bytes between rows in `data`"
},
"cell_stride": {
"type": "integer",
"minimum": 0,
"description": "Number of bytes between cells within a row in `data`"
},
"fields": {
"type": "array",
"items": {
"title": "foxglove.PackedElementField",
"description": "A field present within each element in a byte array of packed elements.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the field"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Byte offset from start of data buffer"
},
"type": {
"title": "foxglove.NumericType",
"description": "Type of data in the field. Integers are stored using little-endian byte order.",
"oneOf": [
{
"title": "UNKNOWN",
"const": 0,
"description": "Unknown numeric type"
},
{
"title": "UINT8",
"const": 1,
"description": "Unsigned 8-bit integer"
},
{
"title": "INT8",
"const": 2,
"description": "Signed 8-bit integer"
},
{
"title": "UINT16",
"const": 3,
"description": "Unsigned 16-bit integer"
},
{
"title": "INT16",
"const": 4,
"description": "Signed 16-bit integer"
},
{
"title": "UINT32",
"const": 5,
"description": "Unsigned 32-bit integer"
},
{
"title": "INT32",
"const": 6,
"description": "Signed 32-bit integer"
},
{
"title": "FLOAT32",
"const": 7,
"description": "32-bit floating-point number"
},
{
"title": "FLOAT64",
"const": 8,
"description": "64-bit floating-point number"
}
]
}
},
"required": [
"name",
"offset",
"type"
]
},
"description": "Fields in `data`. `red`, `green`, `blue`, and `alpha` are optional for customizing the grid's color."
},
"data": {
"type": "string",
"contentEncoding": "base64",
"description": "Grid cell data, interpreted using `fields`, in depth-major, row-major (Z-Y-X) order.\nFor the data element starting at byte offset i, the coordinates of its corner closest to the origin will be:\n\n- z = i / slice_stride * cell_size.z\n- y = (i % slice_stride) / row_stride * cell_size.y\n- x = (i % row_stride) / cell_stride * cell_size.x"
}
},
"required": [
"timestamp",
"frame_id",
"pose",
"row_count",
"column_count",
"cell_size",
"slice_stride",
"row_stride",
"cell_stride",
"fields",
"data"
]
}