wsi-rs 0.4.0

wsi-rs whole-slide image reader
Documentation
use super::*;

pub(super) struct ZviSlide {
    pub(super) dataset: Dataset,
    pub(super) compound: Mutex<CompoundFile<File>>,
    pub(super) planes: Vec<ZviPlane>,
    pub(super) plane_by_whole: HashMap<(u32, u32, u32), usize>,
    pub(super) plane_by_tile: HashMap<(u32, u32, u32, i64, i64), usize>,
    pub(super) associated: HashMap<String, CpuTile>,
}

#[derive(Clone)]
pub(super) struct ZviPlane {
    pub(super) stream_path: String,
    pub(super) width: u32,
    pub(super) height: u32,
    pub(super) bytes_per_sample: u32,
    pub(super) payload_offset: u64,
    pub(super) compression: ZviCompression,
    pub(super) z: u32,
    pub(super) c: u32,
    pub(super) t: u32,
    pub(super) tile_index: i32,
    pub(super) stage_position: Option<(f64, f64)>,
    pub(super) pixel_offset: (i64, i64),
    pub(super) grid_key: Option<(i64, i64)>,
    pub(super) channel_name: Option<String>,
    pub(super) channel_color: Option<[u8; 3]>,
}

#[derive(Clone, Copy, Eq, PartialEq)]
pub(super) enum ZviCompression {
    Raw,
    Zlib,
    Jpeg,
}

pub(super) struct ZviImageHeader {
    pub(super) width: u32,
    pub(super) height: u32,
    pub(super) bytes_per_sample: u32,
    pub(super) payload_offset: u64,
    pub(super) compression: ZviCompression,
    pub(super) z: u32,
    pub(super) c: u32,
    pub(super) t: u32,
    pub(super) tile_index: i32,
}

pub(super) struct MosaicGrid {
    pub(super) advance_x: f64,
    pub(super) advance_y: f64,
    pub(super) width: u64,
    pub(super) height: u64,
    pub(super) entries: HashMap<(i64, i64), TileEntry>,
}

#[derive(Clone, Copy)]
pub(super) struct RawReadWindow {
    pub(super) x: u32,
    pub(super) y: u32,
    pub(super) width: u32,
    pub(super) height: u32,
    pub(super) bytes_per_sample: u64,
}