pub struct CalibrationSession {
pub config: SessionConfig,
pub samples: Vec<SampleRecord>,
pub precision_history: Vec<PrecisionRecord>,
pub iteration: usize,
/* private fields */
}Expand description
An active calibration session tracking model, samples, and history.
Fields§
§config: SessionConfigSession configuration.
samples: Vec<SampleRecord>All measurements collected so far.
precision_history: Vec<PrecisionRecord>Precision snapshots from each completed iteration.
iteration: usizeCurrent iteration count (0-based).
Implementations§
Source§impl CalibrationSession
impl CalibrationSession
Sourcepub fn new(
config: SessionConfig,
feature_fn: impl Fn(f64) -> Vec<f64> + 'static,
feature_dim: usize,
) -> Self
pub fn new( config: SessionConfig, feature_fn: impl Fn(f64) -> Vec<f64> + 'static, feature_dim: usize, ) -> Self
Create a new calibration session.
§Arguments
config: session configurationfeature_fn: maps scalar input → feature vector (must have lengthfeature_dim)feature_dim: number of features D
Sourcepub fn add_measurement(&mut self, raw_input: f64, measured_output: f64)
pub fn add_measurement(&mut self, raw_input: f64, measured_output: f64)
Add a new measurement from the user/sensor.
Sourcepub fn add_measurements(&mut self, inputs: &[f64], outputs: &[f64])
pub fn add_measurements(&mut self, inputs: &[f64], outputs: &[f64])
Add multiple measurements at once.
Sourcepub fn sample_count(&self) -> usize
pub fn sample_count(&self) -> usize
Number of samples currently in the session.
Sourcepub fn next_iteration(&mut self) -> IterationOutcome
pub fn next_iteration(&mut self) -> IterationOutcome
Run one iteration of the calibration state machine.
Returns an IterationOutcome indicating what to do next.
The caller should add new measurements (at the recommended locations)
before calling this again.
Sourcepub fn export_history_json(&self) -> String
pub fn export_history_json(&self) -> String
Export the calibration history as a JSON string.
Schema:
{
"iteration_count": <usize>,
"sample_count": <usize>,
"target_precision": <f64>,
"precision_history": [
{ "iteration": .., "sample_count": .., "mean_std": .., "max_std": ..,
"p95_std": .., "goal_met": .. },
...
],
"samples": [
{ "raw_input": .., "measured_output": .., "added_at_iteration": .. },
...
]
}Auto Trait Implementations§
impl !RefUnwindSafe for CalibrationSession
impl !Send for CalibrationSession
impl !Sync for CalibrationSession
impl !UnwindSafe for CalibrationSession
impl Freeze for CalibrationSession
impl Unpin for CalibrationSession
impl UnsafeUnpin for CalibrationSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more