18 lines
1018 B
Markdown
18 lines
1018 B
Markdown
|
|
## 2026-02-08: Visualization Conventions Documentation
|
|
|
|
### Key findings from codebase analysis:
|
|
- `visualize_extrinsics.py` went through 7+ iterations (commits `6113d0e` → `d07c244`)
|
|
- The core confusion was conflating Plotly view transforms with data-frame transforms
|
|
- `world_to_plot()` is now a no-op identity function — all data stays in OpenCV frame
|
|
- Plotly `camera.up = {y:-1}` is the correct way to render Y-down data without transforming it
|
|
- `autorange: "reversed"` was a red herring — it flips tick labels, not data
|
|
- `inside_network.json` uses a different world frame (Fusion/gravity-aligned) than calibrate_extrinsics.py (ArUco marker object frame)
|
|
- README.md has 3 stale references to removed flags: `--pose-convention`, `--world-basis`, `--diagnose`
|
|
|
|
### Conventions confirmed:
|
|
- Poses are `world_from_cam` (solvePnP result is inverted before saving)
|
|
- RGB = XYZ color convention for axis triads
|
|
- All units are meters
|
|
- `--origin-axes-scale` controls origin triad independently from `--scale`
|