Skip to main content
Multi-model dataset for joint histology and omics inference. Wraps a single WSI together with optional bulk RNA data, providing lazy patch access and a PyTorch-compatible __getitem__ interface.

MultiModelData

Wraps a single Whole Slide Image with its extraction plan. On construction the slide is opened via WSI and the extractor is fitted + executed to produce a list of RegionSpec. Each spec describes one tile/patch location. Patches are read lazily via get_patch.
Path to the WSI file (any format supported by WSI).
Optional path to bulk RNA CSV.
A configured TileExtractor. A fresh fit_extract is called for every slide so the same extractor object can be reused across slides.
Optional callable applied to the raw np.ndarray patch before it is returned. Receives (H, W, C) uint8 and should return a transformed array (or tensor).
Path
Resolved slide path.
Path | None
Resolved path to bulk RNA CSV.
WSIReader
Open reader for the slide.
List[RegionSpec]
Extraction plan (one entry per patch).
str
Stem of the slide filename.
Example:

get_patch

Reads a single patch from the slide.
int
required
Index into specs.
Tuple[Any, Dict[str, Any]]
A tuple (patch, metadata) where patch is an np.ndarray of shape (H, W, C) (or whatever the transform returns), and metadata is a dict with at minimum source, x, y, width, height, slide_name, and tissue_ratio.
Raises:
  • IndexError — If idx is out of range.

close

Closes the underlying WSI reader and releases resources. Example: