1#[allow(dead_code)]
2#[derive(Copy, Clone, PartialEq, Debug)]
3pub enum BayerPattern {
4 None,
5 Rggb,
6 Bggr,
7 Gbrg,
8 Grbg,
9}
10
11#[derive(Copy, Clone, PartialEq, Debug)]
12pub enum DataType {
13 Uint16,
14 Float32,
15}
16
17pub enum PixelData {
18 Uint16(Vec<u16>),
19 Float32(Vec<f32>),
20}
21
22#[derive(Clone)]
23#[allow(dead_code)]
24pub struct ImageMetadata {
25 pub width: usize,
26 pub height: usize,
27 pub channels: usize,
28 pub dtype: DataType,
29 pub bayer_pattern: BayerPattern,
30 pub flip_vertical: bool,
31}
32
33#[allow(dead_code)]
34pub struct ProcessedImage {
35 pub data: Vec<u8>,
36 pub width: usize,
37 pub height: usize,
38 pub is_color: bool,
39 pub channels: u8,
41 pub flip_vertical: bool,
43}
44
45#[allow(dead_code)]
46pub struct ProcessConfig {
47 pub downscale_factor: usize,
48 pub jpeg_quality: u8,
49 pub apply_debayer: bool,
50 pub preview_mode: bool,
51 pub auto_stretch: bool,
52 pub rgba_output: bool,
54}