1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
6pub struct SummaryChannel {
7 pub index: usize,
8 pub name: Option<String>,
9 pub color: Option<String>,
10 pub pixel_type: Option<String>,
11}
12
13#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
14pub struct SummaryScaling {
15 pub x: Option<f64>,
16 pub y: Option<f64>,
17 pub z: Option<f64>,
18 pub unit: Option<String>,
19}
20
21#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
22pub struct DatasetSummary {
23 pub version_major: u32,
24 pub version_minor: u32,
25 pub sizes: BTreeMap<String, usize>,
26 pub logical_frame_count: usize,
27 pub channels: Vec<SummaryChannel>,
28 pub pixel_type: Option<String>,
29 pub scaling: Option<SummaryScaling>,
30}