alterlab-pathml — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alterlab-pathml (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
PathML is a comprehensive Python toolkit for computational pathology workflows, designed to facilitate machine learning and image analysis for whole-slide pathology images. The framework provides modular, composable tools for loading diverse slide formats, preprocessing images, constructing spatial graphs, training deep learning models, and analyzing multiparametric imaging data from technologies like CODEX and multiplex immunofluorescence.
Apply this skill for:
| Scenario | Use Instead |
|---|---|
| Lightweight H&E preprocessing, tissue masking, Random/Grid/Score tile extraction | alterlab-histolab |
| Spatial transcriptomics neighborhood stats on Visium/Xenium/MERFISH tables | alterlab-squidpy-spatial |
| Single-cell expression analysis of the resulting cell x marker matrix | alterlab-scanpy |
| Training a general vision model with no pathology-specific I/O or transforms | alterlab-pytorch-lightning |
| Graph neural networks on a graph you already built | alterlab-torch-geometric |
PathML provides six major capability areas documented in detail within reference files:
Load whole-slide images from 160+ proprietary formats including Aperio SVS, Hamamatsu NDPI, Leica SCN, Zeiss ZVI, DICOM, and OME-TIFF. PathML automatically handles vendor-specific formats and provides unified interfaces for accessing image pyramids, metadata, and regions of interest.
See: references/image_loading.md for supported formats, loading strategies, and working with different slide types.
Build modular preprocessing pipelines by composing transforms for image manipulation, quality control, stain normalization, tissue detection, and mask operations. PathML's Pipeline architecture enables reproducible, scalable preprocessing across large datasets.
Key transforms:
StainNormalizationHE - Macenko/Vahadane stain normalizationTissueDetectionHE, NucleusDetectionHE - Tissue/nucleus segmentationMedianBlur, GaussianBlur - Noise reductionLabelArtifactTileHE - Quality control for artifactsSee: references/preprocessing.md for complete transform catalog, pipeline construction, and preprocessing workflows.
Construct spatial graphs representing cellular and tissue-level relationships. Extract features from segmented objects to create graph-based representations suitable for graph neural networks and spatial analysis.
See: references/graphs.md for graph construction methods, feature extraction, and spatial analysis workflows.
Train and deploy deep learning models for nucleus detection, segmentation, and classification. PathML integrates PyTorch with pre-built models (HoVer-Net, HACTNet), custom DataLoaders, and ONNX support for inference.
Key models:
See: references/machine_learning.md for model training, evaluation, inference workflows, and working with public datasets.
Analyze spatial proteomics and gene expression data from CODEX, Vectra, MERFISH, and other multiplex imaging platforms. PathML provides specialized slide classes and transforms for processing multiparametric data, cell segmentation with Mesmer, and quantification workflows.
See: references/multiparametric.md for CODEX/Vectra workflows, cell segmentation, marker quantification, and integration with AnnData.
Efficiently store and manage large pathology datasets using HDF5 format. PathML handles tiles, masks, metadata, and extracted features in unified storage structures optimized for machine learning workflows.
See: references/data_management.md for HDF5 integration, tile management, dataset organization, and batch processing strategies.
PathML needs native dependencies present first — OpenSlide and a JDK (Bio-Formats is driven through JPype/javabridge) — so the maintainers recommend a conda environment; pure-pip installs commonly fail on those native deps.
Give PathML its own environment, because 3.0.8 pins much of the scientific stack to exact or upper-bounded versions:
| Pinned by PathML 3.0.8 | Current elsewhere |
|---|---|
numpy<2 | 2.5.x |
pandas<=2.1.4 | 3.0.x |
scanpy==1.9.6, anndata<=0.10.3 | scanpy 1.12.x, anndata 0.13.x |
scikit-image<=0.22.0, networkx<=3.2.1, h5py==3.10.0 | all newer |
torch==2.12.0, torch-geometric==2.8.0 | torch 2.14.x |
Installing PathML next to alterlab-scanpy or alterlab-squidpy-spatial will either fail to resolve or silently downgrade those skills' stack. Move results between environments as files (HDF5/AnnData written by PathML, read by a current-scanpy env) rather than trying to satisfy both pin sets.
# In a dedicated env, with OpenSlide and a JDK already installed.
uv venv .venv-pathml && source .venv-pathml/bin/activate
uv pip install pathmlfrom pathml.core import HESlide
from pathml.preprocessing import Pipeline, StainNormalizationHE, TissueDetectionHE
# Load a whole-slide image. Use the HESlide convenience class for H&E,
# or SlideData(filepath=..., slide_type=types.HE) for the generic constructor.
# (There is no SlideData.from_slide.)
wsi = HESlide("path/to/slide.svs", name="example")
# Create preprocessing pipeline
pipeline = Pipeline([
TissueDetectionHE(),
StainNormalizationHE(target="normalize", stain_estimation_method="macenko"),
])
# Run the pipeline on the slide (SlideData.run handles tiling + transforms)
wsi.run(pipeline)
# Access processed tiles
for tile in wsi.tiles:
processed_image = tile.image
tissue_mask = tile.masks["tissue"]H&E Image Analysis:
Multiparametric Imaging (CODEX):
CODEXSlideCollapseRunsCODEXSegmentMIF (Mesmer)QuantifyMIFslide.counts for single-cell analysisTraining ML Models:
pathml.datasets DataModule (e.g. PanNukeDataModule) or a TileDatasetHoVerNet (or another model) with a standard PyTorch looppost_process_batch_hovernetLoad the relevant reference for detailed API, workflows, and gotchas:
references/image_loading.md - WSI formats, slide classes, loading strategiesreferences/preprocessing.md - transform catalog, pipeline construction, stain normalizationreferences/graphs.md - graph builders, feature extraction, spatial analysisreferences/machine_learning.md - HoVer-Net/HACTNet, training, datasets, ONNX inferencereferences/multiparametric.md - CODEX/Vectra/multiplex IF, cell segmentation, quantificationreferences/data_management.md - h5path storage, tile management, batch processingPathML's API surface shifts between releases; treat the reference code as workflow scaffolding and confirm exact class/method names against the version you have installed (python -c "import pathml; print(pathml.__version__)") and the official API docs at https://pathml.readthedocs.io/.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.