Data
detection_2d
2D bounding-box detections — object-detection pipeline output, gaze-tracked regions, hand-keypoint bounding boxes. Interval-based (an object is present over a time range) with normalized 2D box coordinates.
Chunk format
- Format:
jsonl - Decoder:
jsonlDecoder
JSONL shape
{
ts: number // interval start (seconds)
te: number // interval end (seconds)
label: string // class name / tracked-object id
bbox: [ // normalized [0, 1] pixel coordinates
x: number, // left
y: number, // top
w: number, // width
h: number // height
]
score?: number // optional confidence (0..1)
[extra]: unknown
}Sample data
{"ts": 0.0, "te": 2.3, "label": "cup", "bbox": [0.42, 0.55, 0.12, 0.18], "score": 0.94}
{"ts": 0.4, "te": 2.1, "label": "hand", "bbox": [0.30, 0.50, 0.22, 0.28], "score": 0.88}
{"ts": 2.3, "te": 5.0, "label": "cup", "bbox": [0.51, 0.48, 0.10, 0.16], "score": 0.91}Compatible timeline lanes
| Lane | Notes |
|---|---|
MarkerLane | Default. One diamond per detection start. Useful for "detection density" visualization on the timeline. |
Compatible standalone views
| View | Notes |
|---|---|
DetectionBoxView | Overlays the active detection's bbox on top of a video pane. Compose with VideoPlayer. |
Default props
None.
Python generator
from dreamlake import Episode
ep = Episode.create("ep1")
det = ep.track("vision/detections", dtype="detection_2d")
det.append({"ts": 0.0, "te": 2.3, "label": "cup",
"bbox": [0.42, 0.55, 0.12, 0.18], "score": 0.94})
det.append({"ts": 0.4, "te": 2.1, "label": "hand",
"bbox": [0.30, 0.50, 0.22, 0.28], "score": 0.88})