Skip to main content

Metadata

Episode-level session metadata is published on a single topic. The message carries rig and capture info, global time range, optional location, task/scene identifiers, operator and collection method, and the conversion batch version when available.

Topic & Message Type

  • Topic: /session/metadata
  • Message type: session.SessionMetadata
  • Encoding: protobuf

Defined in session/metadata.proto; all messages include common.header.Header.

Message definition (metadata, one message per session):

syntax = "proto3";

package session;

import "common/header.proto";

message Resolution {
uint32 height = 1;
uint32 width = 2;
}

message CaptureDevice {
string cam_model = 1;
string device_type = 2;
string firmware_version = 3;
string fps = 4;
string modality = 5;
Resolution resolution = 6;
int64 unix_start_time = 7;
int64 unix_end_time = 8;
}

message GlobalTime {
string start_time_iso = 1;
string end_time_iso = 2;
string timezone = 3;
}

message Location {
string coordinate_system = 1;
optional double latitude = 2;
optional double longitude = 3;
}

message TaskInfo {
string episode_uuid = 1;
string task_name = 2;
string task_description = 3;
string environment_id = 4;
string scene_id = 5;
}

message OperatorInfo {
double arm_span = 1;
double height = 2;
double leg_length = 3;
string unit = 4;
}

message CollectionMethod {
string description = 1;
string paradigm = 2;
}

message Operator {
CollectionMethod collection_method = 1;
string operator_id = 2;
OperatorInfo operator_info = 3;
}

// Main message for topic /session/metadata
message SessionMetadata {
common.header.Header header = 1;
string batch_version = 2;
repeated CaptureDevice devices = 3;
GlobalTime global_time = 4;
Location location = 5;
TaskInfo task_info = 6;
Operator operator = 7;
}