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 =
View JSON Schema on GitHub

JSON Schema

foxglove-technologies-voxelgrid.json Raw ↑
{
  "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"
  ]
}