48 lines
1.4 KiB
Rust
48 lines
1.4 KiB
Rust
//! Shared IPC types for the rtx-slidescope demo
|
|
//!
|
|
//! This crate defines all the types used for communication between
|
|
//! the Tauri frontend and the Rust backend in the SlideScope demo.
|
|
//!
|
|
//! # Modules
|
|
//!
|
|
//! - [`slide`]: Slide metadata and status types
|
|
//! - [`nmf`]: NMF configuration and result types
|
|
//! - [`tiles`]: Deep-zoom tile serving types
|
|
//! - [`jobs`]: Processing job management types
|
|
//! - [`ipc`]: Service status and IPC request/response types
|
|
//!
|
|
//! # Example
|
|
//!
|
|
//! ```rust
|
|
//! use slidescope_shared::{SlideMetadata, SlideStatus, NmfConfig, TileRequest};
|
|
//!
|
|
//! // Create NMF config for H&E staining
|
|
//! let config = NmfConfig::he();
|
|
//! assert_eq!(config.n_components, 2);
|
|
//!
|
|
//! // Create a tile request
|
|
//! let request = TileRequest {
|
|
//! slide_id: "slide123".to_string(),
|
|
//! z: 5,
|
|
//! x: 10,
|
|
//! y: 20,
|
|
//! layer: slidescope_shared::TileLayer::Original,
|
|
//! };
|
|
//! ```
|
|
|
|
pub mod ipc;
|
|
pub mod jobs;
|
|
pub mod nmf;
|
|
pub mod slide;
|
|
pub mod tiles;
|
|
|
|
// Re-export commonly used types at crate root
|
|
pub use ipc::{
|
|
BatchResult, ExportFormat, ExportRequest, ImportOptions, QueueStatus, SlideFilter,
|
|
SlidescopeStatus,
|
|
};
|
|
pub use jobs::{JobProgress, JobState, JobStatus, ProcessingPhase, ProcessingRequest};
|
|
pub use nmf::{DivergenceType, NmfConfig, NmfResult, StainMatrix};
|
|
pub use slide::{ImageFormat, SlideMetadata, SlideStatus, StainType};
|
|
pub use tiles::{DziMetadata, PyramidConfig, TileFormat, TileLayer, TileRequest, TileResponse};
|