crosstyan
83a74d293b
feat: add HDF5 depth map persistence module
...
- Implement aruco/depth_save.py with save_depth_data/load_depth_data
- Add tests/test_depth_save.py covering roundtrip and edge cases
- Ensure type safety with basedpyright
- Support compression and metadata handling
2026-02-09 07:18:00 +00:00
crosstyan
43a441f2d4
fix: complete ground_plane.py implementation and tests
2026-02-09 07:16:14 +00:00
crosstyan
1d3266ec60
feat: implement ground_plane.py with floor detection and alignment primitives
2026-02-09 07:05:35 +00:00
crosstyan
fb9a2b40b4
chore: add open3d and h5py dependencies
2026-02-09 06:53:16 +00:00
crosstyan
287773e7e7
fix: align calibration convention metadata and remove conversion path
2026-02-09 04:24:09 +00:00
crosstyan
136dadb31d
feat: add --cv-to-opengl option to apply_calibration_to_fusion_config.py
2026-02-09 03:35:15 +00:00
crosstyan
77a93b71f2
feat: add fusion pose updater and improve pose comparison workflow
2026-02-09 03:26:50 +00:00
crosstyan
c497af7783
feat: add explicit 4x4 transformation matrix validation to compare_pose_sets.py
2026-02-09 03:24:36 +00:00
crosstyan
d6c7829b1e
feat: add pose-set comparison visualization and clarify conventions
2026-02-08 08:07:33 +00:00
crosstyan
4bc4b7dfb8
add compare_pose_sets.py for rigid alignment and comparison of camera pose sets
2026-02-08 07:54:26 +00:00
crosstyan
dc2d34dd7c
docs: add visualization conventions and update visualizer defaults
2026-02-08 07:38:23 +00:00
crosstyan
d07c244817
refactor: remove --world-basis and fix visualization to OpenCV convention
2026-02-08 05:45:39 +00:00
crosstyan
6330e0e8f8
fix: restore --world-basis option in visualize_extrinsics.py
2026-02-08 05:43:00 +00:00
crosstyan
351c6bfa67
feat: add --origin-axes-scale to visualize_extrinsics.py
2026-02-08 05:39:07 +00:00
crosstyan
79f2ab04dc
feat: implement global world-basis conversion for Plotly visualization
2026-02-07 17:40:29 +00:00
crosstyan
57f0dffbc5
feat: add world origin triad and explicit render-space mapping to visualization
2026-02-07 17:25:06 +00:00
crosstyan
15989195f1
feat: implement geometry-first auto-align heuristic
2026-02-07 16:54:21 +00:00
crosstyan
18e814217a
feat: add manual ground-plane overlay to visualize_extrinsics.py
2026-02-07 16:16:58 +00:00
crosstyan
ab88a24559
feat: add --render-space option to visualize_extrinsics.py
2026-02-07 16:08:41 +00:00
crosstyan
0d3e9e67ad
feat: ignore boulder.json and update extrinsics visualizer
2026-02-07 15:35:48 +00:00
crosstyan
a8d375191a
fix: enforce Y-up in visualize_extrinsics and sync README
2026-02-07 15:25:24 +00:00
crosstyan
7b9782aa92
feat: rewrite visualize_extrinsics.py with Plotly and Diagnose mode
2026-02-07 15:20:43 +00:00
crosstyan
6113d0e1f3
feat(tooling): add extrinsics visualizer and close depth-pooling plan
...
Finalize multi-frame depth pooling execution tracking with fully verified plan checkboxes and add a Y-up/bird-eye extrinsics visualizer with pose-convention auto detection for calibration sanity checks.
2026-02-07 09:14:34 +00:00
crosstyan
8dbf892ce8
feat: add RMSE-based fallback for depth pooling
2026-02-07 09:07:23 +00:00
crosstyan
8f6aee7f22
fix: resolve basedpyright errors in aruco and tests
2026-02-07 09:00:07 +00:00
crosstyan
4fc8de4bdc
feat(calibrate): integrate multi-frame depth pooling with --depth-pool-size flag
2026-02-07 08:10:01 +00:00
crosstyan
dad1f2a69f
feat(calibration): robust depth refinement pipeline with diagnostics and benchmarking
2026-02-07 05:51:07 +00:00
crosstyan
ead3796cdb
feat(refine): replace L-BFGS-B MSE with least_squares soft-L1 robust optimizer
2026-02-07 05:23:28 +00:00
crosstyan
b33bb78d54
chore: track .vscode and .gitattributes
2026-02-07 04:30:34 +00:00
crosstyan
a80fd809a9
chore(config): update dependencies and gitignore
2026-02-07 04:17:03 +00:00
crosstyan
cdc4f9eec4
chore(metadata): update beads and sisyphus planning artifacts
2026-02-07 04:16:41 +00:00
crosstyan
ddb7054f96
docs(calibration): update findings summary and troubleshooting for depth refinement
2026-02-07 04:13:46 +00:00
crosstyan
fca04c47c1
docs(calibration): document auto-align and refine-depth workflows
2026-02-07 03:34:28 +00:00
crosstyan
446c02d42a
feat(calibration): add data-driven ground alignment with debug and fast iteration flags
2026-02-07 03:20:16 +00:00
crosstyan
afc8e9034d
chore(sisyphus): clear boulder state after plan completion
2026-02-05 05:12:53 +00:00
crosstyan
e033657bff
docs(plan): mark depth output DoD items complete via unit tests
2026-02-05 05:11:54 +00:00
crosstyan
553cc457f0
refactor(cli): extract depth postprocess and add tests
...
- Extract apply_depth_verify_refine_postprocess() from main() for testability
- Add test_depth_cli_postprocess.py using mocks to validate JSON and CSV behavior
- Keeps CLI behavior unchanged
2026-02-05 05:07:48 +00:00
crosstyan
15337d2d15
docs(plan): mark non-regression DoD item complete
2026-02-05 04:58:46 +00:00
crosstyan
e8a8156e0b
fix(cli): disable depth unless verify/refine enabled
...
- Ensure default extrinsics calibration runs with depth mode NONE
- Depth is only enabled when --verify-depth or --refine-depth is set
- Document opt-in behavior in notepad
2026-02-05 04:58:17 +00:00
crosstyan
23233c9138
docs(notepad): record missing marker-visible SVO blocker
2026-02-05 04:54:47 +00:00
crosstyan
0d71ef9f64
docs(plan): update depth-extrinsic-verify completion checkboxes
2026-02-05 04:47:33 +00:00
crosstyan
ffdedad7e7
docs(draft): capture depth extrinsic verify notes
2026-02-05 04:46:24 +00:00
crosstyan
d2674f76d6
chore(sisyphus): update boulder state for depth-extrinsic-verify
2026-02-05 04:46:04 +00:00
crosstyan
6d3c5cc5c1
feat(cli): add depth verify/refine outputs and tests
...
- Retrieve depth + confidence measures from SVOReader when depth enabled
- Compute depth residual metrics and attach to output JSON
- Optionally write per-corner residual CSV via --report-csv
- Post-process refinement: optimize final pose and report pre/post metrics
- Add unit tests for depth verification and refinement modules
- Add basedpyright dev dependency for diagnostics
2026-02-05 04:44:34 +00:00
crosstyan
882d9348a6
docs(plan): start depth-extrinsic-verify and mark tasks 1-4 complete
2026-02-05 04:19:08 +00:00
crosstyan
9f4abc21c7
feat(cli): integrate depth verification into calibration workflow
2026-02-05 04:09:09 +00:00
crosstyan
f6b6db5999
feat(cli): add depth verification and refinement flags
...
- Add --verify-depth / --no-verify-depth flag
- Add --refine-depth / --no-refine-depth flag
- Add --depth-mode with choices: NEURAL, ULTRA, PERFORMANCE, NONE
- Add --depth-confidence-threshold flag
- Add --report-csv flag for optional CSV output
2026-02-05 03:48:56 +00:00
crosstyan
73782a7c2d
feat(aruco): add depth refinement module with bounded optimization
...
- Add extrinsics_to_params() and params_to_extrinsics() conversions
- Add depth_residual_objective() with regularization
- Add refine_extrinsics_with_depth() using L-BFGS-B
- Add scipy dependency for optimization
- Enforce bounds on rotation (±5°) and translation (±5cm)
2026-02-05 03:47:39 +00:00
crosstyan
78ebe9a32e
feat(aruco): add depth verification module with residual computation
...
- Add DepthVerificationResult dataclass for metrics
- Add project_point_to_pixel() for 3D to 2D projection
- Add compute_depth_residual() with median window sampling
- Add verify_extrinsics_with_depth() for batch verification
- Support confidence-based filtering
2026-02-05 03:45:20 +00:00
crosstyan
bd9ea1c795
feat(aruco): extend SVOReader with depth map support
...
- Add depth_mode parameter to SVOReader.__init__()
- Add enable_depth property
- Add depth_map field to FrameData dataclass
- Add _retrieve_depth(), get_depth_at(), get_depth_window_median() methods
- Update grab_all() and grab_synced() to retrieve depth when enabled
2026-02-05 03:43:21 +00:00