Skip to main content

Module visualization

Module visualization 

Source
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§

RerunObserver
Rerun observer for real-time optimization visualization.
VisualizationConfig
Configuration for visualization options in RerunObserver.

Enums§

VisualizationMode
Controls when visualization updates occur during optimization.