Expand description
Fast whole slide image (WSI) tile extraction, with tissue detection and stain normalization.
Whole slide images are gigapixel-scale microscopy scans used in digital pathology, stored as tiled, pyramidal (multi-resolution) TIFF files. Slideforge currently reads the Aperio SVS format.
Slide opens a single WSI and extracts tiles at a
specific pyramid level or a target microns-per-pixel value, optionally
dropping background-only tiles (Otsu thresholding) and normalizing
stain color (Reinhard normalization) along the way. Extracted tiles can
be written out as loose JPEGs, a .tfrecord file for ML training
pipelines, and/or summarized in a PDF report.
Dataset extends this across a whole directory of
slides at once.
§Example
use slideforge::slide::{Slide, SlideOutputs};
use slideforge::ExtractionOptions;
let slide = Slide::open("slide.svs")?;
let options = ExtractionOptions::parallel()
.with_target_mpp(0.5)
.with_min_tissue_fraction(0.1)
.with_stain_normalization();
let outputs = SlideOutputs::default().with_tile_dir("tiles/");
slide.extract(&options, &outputs, |tile| {
println!("kept tile ({}, {})", tile.tile_x(), tile.tile_y());
Ok(())
})?;Re-exports§
pub use extraction::ExtractionOptions;pub use extraction::Parallelism;pub use filter::TissueMask;pub use logging::ExtractionObserver;pub use logging::ExtractionStats;pub use logging::ProgressBar;pub use logging::ReportCollector;pub use logging::SimpleLogging;pub use metadata::Dimensions;pub use metadata::Level;pub use metadata::Metadata;pub use metadata::TileSize;pub use report::ExtractionReport;pub use stain::normalize_reinhard;
Modules§
- backend
- Vendor-specific WSI format parsers. Currently just Aperio SVS.
- dataset
- Batch tile extraction across a directory of slides.
- decoder
- Tile image decoding. Currently just JPEG, via
JpegDecoder. - error
- The crate’s single error type,
WsiError. - extraction
- Extraction options controlling how tiles are decoded and processed during extraction.
- filter
- Basic tissue filtering methods for tiles
- logging
- Modular logging/observability utilities.
- metadata
- Vendor-independent metadata representations for Whole Slide Images (WSIs).
- report
- Extraction report generation.
- slide
- Whole slide image (WSI) reading and tile extraction.
- stain
- Reinhard color/stain normalization for RGB tile images.
- tfrecord
- Writes tile records to the
.tfrecordformat used by TensorFlow - tile
- Tile directory and tile reading functionality for tiled TIFF images.