Skip to main content

slide2vec

PyPI version Docs

slide2vec encodes whole-slide images with publicly available pathology foundation models. It uses hs2p for tissue detection and tiling, and handles batching, multi-GPU execution, and embedding storage.

Install

Python 3.10 or newer is required:

pip install slide2vec

Many models need additional dependencies available through pip install "slide2vec[fm]". See the model installation guide for model-specific extras, separate environments, and upstream packages.

Reproducible model environments

The repository ships a uv.lock file that pins every package for each extra. From a checkout, uv sync --extra cu128 --extra fm installs the exact locked stack (use --extra cpu for CPU-only PyTorch). Add --extra flash-attn for PRISM2 and gigapath-slide. The Docker image is built from the same lock; its SLIDE2VEC_EXTRAS build argument selects the extras, for example --build-arg SLIDE2VEC_EXTRAS="cu128" for the base install only.

For gated models such as Virchow2, request access on the model's Hugging Face page and authenticate with hf auth login or an HF_TOKEN environment variable.

Embed a slide

from hs2p import TilingConfig
from slide2vec import Model, PreprocessingConfig

model = Model.from_preset("virchow2")
preprocessing = PreprocessingConfig(
    tiling=TilingConfig(
        requested_spacing_um=0.5, requested_tile_size_px=224, tolerance=0.05, overlap=0.0
    ),
)
embedded = model.embed_slide("/path/to/slide.svs", preprocessing=preprocessing)

tile_embeddings = embedded.tile_embeddings  # (N, 2560)
x, y = embedded.x, embedded.y               # level-0 tile coordinates

tiling is an hs2p TilingConfig. Leave it unset to take spacing and tile size from the preset; Virchow2 supports several scales, so it needs an explicit one. The preset also supplies precision. Use list_models() to list presets, or filter with list_models("tile"), list_models("slide"), or list_models("patient").

See getting started for preprocessing and execution settings, and the API guide for patient embeddings, image inputs, and dense grids.

Save a batch

Create a CSV manifest:

sample_id,image_path
slide-1,/data/slide-1.svs
slide-2,/data/slide-2.svs

Optional mask_path and spacing_at_level_0 columns supply a mask or correct missing or incorrect level-0 spacing. Patient-level models also require patient_id; see the manifest schema.

from slide2vec import ExecutionOptions, Model, Pipeline

pipeline = Pipeline(
    model=Model.from_preset("virchow2"),
    preprocessing=preprocessing,  # from the example above
    execution=ExecutionOptions(output_dir="outputs/run"),
)
result = pipeline.run(manifest_path="/path/to/slides.csv")

Runs use all available GPUs by default; set ExecutionOptions(num_gpus=2) to limit them. Embeddings are saved as .pt tensors with metadata sidecars. Use ExecutionOptions(output_format="npz") for NumPy archives. The output guide describes directories, shapes, coordinates, and progress records.

Add region_tile_multiple=6 to the preprocessing config to group tiles into 6×6 regions. These produce (num_regions, 36, feature_dim) tensors in hierarchical_embeddings/; see hierarchical features.

The same batch workflow is available from the terminal:

slide2vec /path/to/config.yaml

The CLI guide provides a complete config example, overrides, and resume instructions.

Docker

Docker Version

docker pull waticlems/slide2vec:latest
docker run --rm -it \
    -v /path/to/your/data:/data \
    -e HF_TOKEN \
    waticlems/slide2vec:latest

Set HF_TOKEN in your shell before starting the container.

More documentation

Metadata

Release files for slide2vec 7.1.2

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

Source distribution (sdist)

Source distribution for slide2vec 7.1.2
File Size Uploaded
slide2vec-7.1.2.tar.gz 434.5 kB Details

Built distribution (wheel)

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

Total release size: 716.2 kB

Release files / slide2vec-7.1.2.tar.gz

Download URL slide2vec-7.1.2.tar.gz
Size 434.5 kB
Tags Source
SHA-256 checksum
How to use checksums
88f45711be9174300913825b124625c94e2f8688702ef41734d90264c2a5f08d
BLAKE2b-256 checksum
How to use checksums
afd841eb366805481895525cb780d5cacab958b48b9d253e01e733baf24a1079
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / slide2vec-7.1.2-py3-none-any.whl

Download URL slide2vec-7.1.2-py3-none-any.whl
Size 281.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
62c03479f5e572daed130b4162e0a876980c368048fd7ea9146d283b6153cc88
BLAKE2b-256 checksum
How to use checksums
31d4dd1a0a065da2a0da45d8a306bb106275eef723741798a4c7e279c15d6eac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release history Release notifications | RSS feed

This release

7.1.2 This release

2 release files

7.1.1

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.3.4

2 release files

6.3.3

2 release files

6.3.2

2 release files

6.3.1

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.9.2

2 release files

5.9.1

2 release files

5.9.0

2 release files

5.8.2

2 release files

5.8.1

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.8.0

2 release files

4.7.0

2 release files

4.6.4

2 release files

4.6.3

2 release files

4.6.2

2 release files

4.6.1

2 release files

4.6.0

2 release files

4.5.3

2 release files

4.5.2

2 release files

4.5.1

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.4

2 release files

4.0.3

2 release files

4.0.2

2 release files

4.0.1

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

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