D
DreamLake

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

LaneNotes
MarkerLaneDefault. One diamond per detection start. Useful for "detection density" visualization on the timeline.

Compatible standalone views

ViewNotes
DetectionBoxViewOverlays 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})