From 9d28560ee5e538a4510b9981baa4a862af8f82ac Mon Sep 17 00:00:00 2001 From: RyanPCo Date: Tue, 20 Oct 2026 10:31:03 -0400 Subject: [PATCH] aria_to_lance: half-open task and alias end t_end_ns was the last frame's timestamp, so under the half-open interval convention the last frame of every recording fell outside its task and alias, and the loader never sampled it (48 frames on the pilot tables). Claude-Session: https://claude.ai/code/session_01Kt1E8T2x8kdV9akAvbJyVd --- egomimic/scripts/aria_process/aria_to_lance.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/egomimic/scripts/aria_process/aria_to_lance.py b/egomimic/scripts/aria_process/aria_to_lance.py index 6c5cd17bb..b7d96a3ff 100644 --- a/egomimic/scripts/aria_process/aria_to_lance.py +++ b/egomimic/scripts/aria_process/aria_to_lance.py @@ -244,7 +244,8 @@ def col(x, valid, fill): "gaps": int(after_gap.sum()), "graph_changes": int(graph_change.sum()), "t_start_ns": int(ts[0]), - "t_end_ns": int(ts[-1]), + # Half-open like every Lance interval: the last frame is inside its task and alias. + "t_end_ns": int(ts[-1]) + round(1e9 / FPS), "mano": bool(args.mano), "intrinsics": { "front_1": k360.reshape(-1).tolist(),