Skip to main content

nd2_rs/types/
attributes.rs

1use 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}