pub struct BenchmarkRecord {Show 33 fields
pub format_version: u32,
pub case_id: String,
pub run_id: String,
pub dataset_name: String,
pub dataset_version: Option<String>,
pub preset_name: Option<String>,
pub crate_version: String,
pub random_seed: Option<u64>,
pub spatial_crop: Option<[usize; 4]>,
pub algorithm: String,
pub algorithm_configuration: String,
pub success: bool,
pub error: Option<String>,
pub frame_count: usize,
pub image_shape: [usize; 2],
pub reconstruction_shape: [usize; 2],
pub completed_iterations: usize,
pub elapsed_seconds: f64,
pub initial_objective: Option<f64>,
pub final_objective: Option<f64>,
pub final_to_initial_objective_ratio: Option<f64>,
pub amplitude_rmse: Option<f64>,
pub phase_rmse: Option<f64>,
pub complex_field_relative_error: Option<f64>,
pub fourier_domain_relative_error: Option<f64>,
pub pupil_amplitude_rmse: Option<f64>,
pub pupil_phase_rmse: Option<f64>,
pub illumination_position_rmse: Option<f64>,
pub per_frame_residual_mean: Option<f64>,
pub per_frame_residual_max: Option<f64>,
pub frames: Vec<BenchmarkFrameRecord>,
pub output_paths: Vec<PathBuf>,
pub metadata: BTreeMap<String, String>,
}Expand description
Serializable summary of one algorithm run on one immutable problem.
Fields§
§format_version: u32Record schema version; must equal BENCHMARK_RECORD_FORMAT_VERSION.
case_id: StringDeterministic identity of the immutable case configuration.
run_id: StringUnique identity of this execution.
dataset_name: StringHuman-readable dataset or synthetic-case name.
dataset_version: Option<String>Optional immutable dataset version.
preset_name: Option<String>Optional stable simulation preset name.
crate_version: Stringfpm-rs crate version that produced the record.
random_seed: Option<u64>Optional deterministic simulation or schedule seed.
spatial_crop: Option<[usize; 4]>Original-image crop as [row, column, height, width], when applicable.
algorithm: StringStable reconstruction algorithm name.
algorithm_configuration: StringCaller-supplied serialized or human-readable algorithm configuration.
success: boolWhether reconstruction and requested metrics completed successfully.
error: Option<String>Captured failure message when success is false.
frame_count: usizeAcquisition-frame count.
image_shape: [usize; 2]Low-resolution shape as [height, width].
reconstruction_shape: [usize; 2]High-resolution shape as [height, width].
completed_iterations: usizeComplete iterations represented by the result.
elapsed_seconds: f64Wall-clock runtime in seconds.
initial_objective: Option<f64>First recorded objective, when an iteration completed.
final_objective: Option<f64>Last recorded objective, when an iteration completed.
final_to_initial_objective_ratio: Option<f64>Final objective divided by the initial objective.
amplitude_rmse: Option<f64>Root-mean-square reconstructed amplitude error against ground truth.
phase_rmse: Option<f64>Root-mean-square wrapped phase error in radians against ground truth.
complex_field_relative_error: Option<f64>Globally aligned complex-field relative L2 error.
fourier_domain_relative_error: Option<f64>Centered Fourier-spectrum relative L2 error.
pupil_amplitude_rmse: Option<f64>Support-aware pupil-amplitude RMSE.
pupil_phase_rmse: Option<f64>Support-aware pupil-phase RMSE in radians.
illumination_position_rmse: Option<f64>Source-position RMS error in Fourier-grid pixels.
per_frame_residual_mean: Option<f64>Mean of per-frame normalized intensity L2 errors.
per_frame_residual_max: Option<f64>Maximum per-frame normalized intensity L2 error.
frames: Vec<BenchmarkFrameRecord>Optional metrics in acquisition-frame order.
output_paths: Vec<PathBuf>Generated artifact paths associated with this run.
metadata: BTreeMap<String, String>Extensible stable string metadata.
Implementations§
Source§impl BenchmarkRecord
impl BenchmarkRecord
Sourcepub fn from_result(
case_id: impl Into<String>,
dataset_name: impl Into<String>,
algorithm_configuration: impl Into<String>,
result: &ReconstructionResult,
) -> Self
pub fn from_result( case_id: impl Into<String>, dataset_name: impl Into<String>, algorithm_configuration: impl Into<String>, result: &ReconstructionResult, ) -> Self
Builds a normalized benchmark record for an already completed result.
Callers provide the deterministic case_id; a fresh run_id is
generated for this execution.
Trait Implementations§
Source§impl Clone for BenchmarkRecord
impl Clone for BenchmarkRecord
Source§fn clone(&self) -> BenchmarkRecord
fn clone(&self) -> BenchmarkRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BenchmarkRecord
impl Debug for BenchmarkRecord
Source§impl<'de> Deserialize<'de> for BenchmarkRecord
impl<'de> Deserialize<'de> for BenchmarkRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for BenchmarkRecord
impl RefUnwindSafe for BenchmarkRecord
impl Send for BenchmarkRecord
impl Sync for BenchmarkRecord
impl Unpin for BenchmarkRecord
impl UnsafeUnpin for BenchmarkRecord
impl UnwindSafe for BenchmarkRecord
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more