Skip to main content

LazySlide

LazySlide logo

Accessible and interoperable whole slide image analysis

Documentation Status pypi version conda version PyPI - License scverse ecosystem Nature Methods

Installation | Tutorials | Preprint | Nature Methods

LazySlide is a Python framework for whole slide image (WSI) analysis in digital and computational pathology. From a raw slide to tissue masks, tiles, foundation-model features, cell segmentations and zero-shot predictions in a few lines of code. Everything is stored as SpatialData, so results go straight into scverse tools such as scanpy, anndata and squidpy.

Key features

  • Preprocessing: tissue detection, tiling at any resolution, artifact QC
  • Pathology foundation models: tile features from 30+ models (UNI, Virchow, Prov-GigaPath, H-optimus, …) or any timm model
  • Segmentation: cells (InstanSeg, Cellpose, …), tissue and artifacts
  • Vision-language models: zero-shot classification and segmentation, slide captioning, text search (CONCH, PLIP, TITAN, …)
  • Spatial and multimodal analysis: spatial domains, tile graphs, linking morphology to gene expression
  • Any slide format: SVS, NDPI, MRXS, DICOM, CZI, iSyntax and more via wsidata
  • Deep learning ready: PyTorch datasets for training your own models

LazySlide overview: tissue segmentation, tiling, foundation-model feature extraction, cell segmentation, spatial domains, zero-shot classification and captioning, genomic data integration

Installation

LazySlide supports Python 3.11–3.14 on Linux, macOS and Windows.

pip install lazyslide   # or: uv add lazyslide

For extra slide readers (CZI, iSyntax, BioFormats) and gated models, see the installation guide and model zoo.

Quick start

Detect tissue, tile it and extract features from a sample slide in a few lines of code:

import lazyslide as zs

wsi = zs.datasets.sample()

# Pipeline
zs.pp.find_tissues(wsi)
zs.pp.tile_tissues(wsi, tile_px=256, mpp=0.5)
zs.tl.feature_extraction(wsi, model="resnet50")

# Access the features
features = wsi["resnet50_tiles"]

# Color tiles by feature dimensions 1 and 99
zs.pl.tiles(wsi, feature_key="resnet50", color=["1", "99"])

To open your own slide:

wsi = zs.open_wsi("path/to/slide.svs")

Documentation

New to digital pathology? Start with the getting started guide. The documentation also has tutorials, how-to guides, the API reference and the model zoo.

Citation

If you use LazySlide in your research, please cite:

Zheng Y, Abila E, Chrenková E, Buljan I, Winkler J, Rendeiro AF. LazySlide: accessible and interoperable whole-slide image analysis. Nature Methods 23, 728–731 (2026). https://doi.org/10.1038/s41592-026-03044-7

BibTeX
@article{zheng2026lazyslide,
  title   = {LazySlide: accessible and interoperable whole-slide image analysis},
  author  = {Zheng, Yimin and Abila, Ernesto and Chrenkov{\'a}, Eva and Buljan, Iva and Winkler, Juliane and Rendeiro, Andr{\'e} F.},
  journal = {Nature Methods},
  volume  = {23},
  number  = {4},
  pages   = {728--731},
  year    = {2026},
  doi     = {10.1038/s41592-026-03044-7}
}

Contributing

Contributions to documentation, tests and features are welcome, and so are suggestions. Open an issue or a pull request, and see the contributing guide.

Licence

LazySlide is released under the MIT License.

Metadata

Release files for lazyslide 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lazyslide 0.13.0
File Size Uploaded
lazyslide-0.13.0.tar.gz 112.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lazyslide 0.13.0
File Interpreter ABI Platform
lazyslide-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 255.0 kB

Release files / lazyslide-0.13.0.tar.gz

Download URL lazyslide-0.13.0.tar.gz
Size 112.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3f6e1693412d0b18910525b9056eb650f4c16ff7a03c293d00527d1dd137e609
BLAKE2b-256 checksum
How to use checksums
ab7e5843a69fc48ac268926b223ba91e624180a2e95a1f5a3bcdcdd36ccc8939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / lazyslide-0.13.0-py3-none-any.whl

Download URL lazyslide-0.13.0-py3-none-any.whl
Size 142.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eaeead6f2db81dddc17c81b96c99d99518e59c9950c659ffecf040e578fb196a
BLAKE2b-256 checksum
How to use checksums
0bdb19d9fbdf3d7d49f69d37b898530a6075a6edee7036ac3f81eb85745f1ad1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page