Expand description
Rerun observer for real-time optimization visualization.
This module provides a Rerun-based observer that implements the OptObserver trait,
enabling clean separation between optimization logic and visualization.
§Features
- Time series plots: Cost, gradient norm, damping parameter, step quality
- Sparse Hessian visualization: Heat map showing matrix structure and values
- Gradient visualization: Vector representation with magnitude encoding
- Manifold state: Real-time pose updates for SE2/SE3 problems
- Initial graph visualization: Display starting configuration
§Observer Pattern Integration
Instead of being tightly coupled to the optimizer loop, RerunObserver implements
the OptObserver trait. Register it with any optimizer and it will automatically
receive updates at each iteration.
§Feature Flag
This module requires the visualization feature to be enabled:
apex-solver = { version = "1.0", features = ["visualization"] }§Examples
§Basic Usage
use apex_solver::{JacobianMode, LevenbergMarquardt, LevenbergMarquardtConfig};
use apex_solver::observers::RerunObserver;
let config = LevenbergMarquardtConfig::new().with_max_iterations(100);
let mut solver = LevenbergMarquardt::with_config(config);
// Add Rerun visualization observer
let rerun_observer = RerunObserver::new(true)?;
solver.add_observer(rerun_observer);
let result = solver.optimize(&mut problem)?;§Save to File Instead of Live Viewer
let rerun_observer = RerunObserver::new_with_options(
true,
Some("my_optimization.rrd")
)?;
// ... add to solver and optimize ...Structs§
- Rerun
Observer - Rerun observer for real-time optimization visualization.
- Visualization
Config - Configuration for visualization options in RerunObserver.
Enums§
- Visualization
Mode - Controls when visualization updates occur during optimization.