fpm_rs/measurements/
metadata.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Serialize, Deserialize)]
4pub struct FrameMetadata {
5 pub frame_index: usize,
6 pub illumination_index: Option<usize>,
7 #[serde(default)]
9 pub original_frame_index: Option<usize>,
10 #[serde(default)]
12 pub original_illumination_index: Option<usize>,
13 pub exposure_time: f64,
14 pub weight: f64,
15 pub label: Option<String>,
16}
17
18impl FrameMetadata {
19 pub fn new(frame_index: usize) -> Self {
20 Self {
21 frame_index,
22 illumination_index: Some(frame_index),
23 original_frame_index: Some(frame_index),
24 original_illumination_index: Some(frame_index),
25 exposure_time: 1.0,
26 weight: 1.0,
27 label: None,
28 }
29 }
30}