fpm_rs/simulation/
illumination_acquisition_errors.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Default, Serialize, Deserialize)]
8pub struct IlluminationAcquisitionErrors {
9 pub frame_gain_relative_std: f64,
11 pub missing_frames: Vec<usize>,
13 pub source_permutation: Option<Vec<usize>>,
15}
16
17impl IlluminationAcquisitionErrors {
18 pub fn new() -> Self {
19 Self::default()
20 }
21
22 pub fn frame_gain_relative_std(mut self, relative_standard_deviation: f64) -> Self {
23 self.frame_gain_relative_std = relative_standard_deviation;
24 self
25 }
26
27 pub fn missing_frames(mut self, indices: Vec<usize>) -> Self {
28 self.missing_frames = indices;
29 self
30 }
31
32 pub fn source_permutation(mut self, permutation: Vec<usize>) -> Self {
33 self.source_permutation = Some(permutation);
34 self
35 }
36}