nd2_rs/types/
attributes.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct Attributes {
5 pub bits_per_component_in_memory: u32,
6 pub bits_per_component_significant: u32,
7 pub component_count: u32,
8 pub height_px: u32,
9 pub pixel_data_type: PixelDataType,
10 pub sequence_count: u32,
11 pub width_bytes: Option<u32>,
12 pub width_px: Option<u32>,
13 pub compression_level: Option<f64>,
14 pub compression_type: Option<CompressionType>,
15 pub tile_height_px: Option<u32>,
16 pub tile_width_px: Option<u32>,
17 pub channel_count: Option<u32>,
18}
19
20#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
21#[serde(rename_all = "lowercase")]
22pub enum PixelDataType {
23 Float,
24 Unsigned,
25}
26
27#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
28#[serde(rename_all = "lowercase")]
29pub enum CompressionType {
30 Lossless,
31 Lossy,
32 None,
33}