Skip to main content

fpm_rs/simulation/
result.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{Array2, Complex64, measurements::MeasurementStack, model::ImagePlaneModel};
4
5use super::{CameraModel, IlluminationAcquisitionErrors};
6
7#[derive(Clone, Debug)]
8pub struct SimulationResult {
9    pub measurements: MeasurementStack,
10    pub ground_truth_object: Array2<Complex64>,
11    pub true_model: ImagePlaneModel,
12    pub reconstruction_model: ImagePlaneModel,
13    pub camera: Option<CameraModel>,
14    pub illumination_acquisition_errors: Option<IlluminationAcquisitionErrors>,
15    pub parameters: SimulationParameters,
16    pub random_seed: u64,
17}
18
19#[derive(Clone, Debug, Serialize, Deserialize)]
20pub struct SimulationParameters {
21    pub ideal: bool,
22    pub frame_count: usize,
23    pub image_shape: (usize, usize),
24    pub missing_frames: Vec<usize>,
25}