vision-calibration-pipeline
End-to-end calibration workflows and a session API for calibration-rs.
This crate provides two complementary approaches for camera calibration:
- Session API: Structured workflows with artifact management + JSON checkpointing
- Imperative Functions: Direct access to pipeline functions for custom workflows
Features
- Planar intrinsics calibration: Zhang's method with Brown-Conrady distortion
- JSON I/O: Serialize/deserialize inputs, configs, and results
- Checkpointing: Save and resume session state
Dual API Design
Session API
Best for standard workflows with branching, artifact tracking, and checkpointing:
use ;
use ;
use PlanarDataset;
// Create session
let mut session = new;
// Add observations (a PlanarDataset: Vec<View<NoMeta>>)
let obs_id = session.add_observations;
// Initialize (linear solver)
let config = default;
let init_id = session.run_init?;
// Save checkpoint
let checkpoint = session.to_json?;
// Optimize (non-linear refinement)
let result_id = session.run_optimize?;
// Filter outliers and re-optimize (optional)
let obs_filtered = session.run_filter_obs?;
// Export results
let estimate = session.run_export?;
Imperative Functions API
Best for custom workflows requiring intermediate inspection:
use ;
use PlanarDataset;
let config = default;
let seed = planar_init_seed_from_views?;
let estimate = run_planar_intrinsics?;
JSON I/O Example
use ;
// Load from JSON
let input: PlanarDataset = from_str?;
let config: PlanarIntrinsicsConfig = from_str?;
// Run calibration
let estimate = run_planar_intrinsics?;
// Save results
let output_json = to_string_pretty?;
When to Use Each API
| Scenario | Recommended API |
|---|---|
| Standard single-camera calibration | Session |
| Need checkpointing between stages | Session |
| Inspect linear initialization quality | Imperative |
| Custom multi-step workflow | Imperative |
| Integration into larger system | Imperative |
| Research and experimentation | Imperative |
See Also
- vision-calibration-core: Math types and camera models
- vision-calibration-linear: Linear initialization solvers
- vision-calibration-optim: Non-linear optimization
- Book: Pipelines
- functions.md: Comprehensive API reference