feat(zarr): persist camera intrinsics in zarr.json#386
Conversation
66a49fd to
f058830
Compare
5265946 to
fb7e066
Compare
c73430a to
75a9774
Compare
75a9774 to
5f26d41
Compare
fb7e066 to
1c23942
Compare
c9cf920 to
fea4ea8
Compare
…odiments
Squashed combining the intrinsics/embodiment work:
- move intrinsics/extrinsics into embodiment classes (remove CameraTransforms)
- gaze viz mode + zarr_data_viz notebook update; add LightWheel embodiment
- persist camera intrinsics in zarr.json; make them MANDATORY (validated {camera_key: 3x4} dict)
- collapse aria/mecka/scale/lightwheel human data into human_* (ids 1-3); eva = 4-6
- strict extrinsics (None or non-empty dict); embodiment validated at write time
- aria right-hand ee-pose + wrist-pose orientation fix
- sweep all hydra configs + tests to the collapsed embodiment
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… head-frame overlays
Drop RIGHT_HAND_ORIENTATION_FIX (ee, diag(-1,-1,1) X/Y) and RIGHT_WRIST_ORIENTATION_FIX (wrist, diag(-1,1,-1) X/Z) so the right hand uses T_ROT_CAM like the left. Verified in dataset viz: both hands share one convention after revert. Intrinsics + human_bimanual kept.
d70ad6c to
e84a5e9
Compare
Claude Code ReviewReview of PR #386SummaryThis PR is described as "persist camera intrinsics in zarr.json" but actually does much more than that — it collapses all human embodiments ( Key concerns1. PR scope vs. title — major mismatchThe title says "persist camera intrinsics" but the diff includes:
Each of these is a separate, breaking change. They should be separate PRs, or at minimum the PR title/description must say so. As-is, reviewers will under-scrutinize the orientation fix and the embodiment renumbering. 2. Embodiment ID renumbering will silently break old checkpoints/dataOld IDs: 3. SQL/DB inconsistency is now load-bearing and undocumented in code
This needs to be reconciled before merge — either migrate the SQL column now, or document a transitional dual-write/dual-read. 4. Aria orientation "fix" is a coordinate-frame changeREADME says: "fixed the right-hand EE-pose and wrist-pose orientations ... so that, after reprocessing, human (aria) hand orientations follow the same canonical right-handed convention as the robot (Eva)". This means:
This must be gated explicitly. At minimum: a version field in 5. Intrinsics validation in
|

Add an intrinsics parameter to ZarrWriter (and create_and_write) that
serializes a single np.ndarray K matrix or a {camera_key: K} dict into
zarr metadata. Expose ZarrEpisode.intrinsics / ZarrDataset.intrinsics
that read it back as ndarray(s), or None when not written.
This unblocks per-episode intrinsics so viz no longer has to rely on
class-level Embodiment.INTRINSICS constants.