
PathML
FreeStreamline computational pathology workflows locally.
Free · Opens the source repo
What PathML does
PathML is designed for researchers working in the field of computational pathology, allowing them to manage and analyze pathology slides effectively. The skill provides a comprehensive suite of tools for loading and tiling slides, building preprocessing and quality control (QC) pipelines, and managing h5path data. With PathML, users can quantify multiplex images, construct spatial graphs, and plan model inference workflows, all while ensuring compliance with data privacy regulations.
The software is intended for local use and is not a validated medical device or diagnostic tool. It emphasizes the importance of handling sensitive patient data appropriately, requiring users to confirm authorization, de-identify data, and adhere to institutional policies. PathML guides users through the necessary steps to ensure that their data handling practices meet ethical and legal standards.
PathML's functionality includes a range of preprocessing techniques and the ability to generate tiles from whole slide images (WSIs). Users can create pipelines that incorporate various image processing steps, enabling them to prepare their data for further analysis or model training. The skill also includes bundled command-line interfaces (CLIs) for validating slide manifests, inspecting slides, and planning inference tasks, which can enhance the overall efficiency of research workflows.
Overall, PathML is a powerful tool for researchers in computational pathology, providing essential capabilities for data management and analysis while prioritizing data security and compliance. It is particularly suited for those looking to streamline their local research processes without relying on external networks or services.
When to use it
Use PathML when conducting local research in computational pathology that requires slide management and analysis.
When not to use it
PathML is not suitable for clinical applications or scenarios requiring validated diagnostic tools.
What you can build with it
Local Research Analysis
Researchers can use PathML to load and analyze local pathology slides without relying on external networks.
Quality Control Pipelines
PathML allows users to build preprocessing and QC pipelines to ensure data integrity before analysis.
Data Management for Pathology
The skill helps manage h5path data and facilitates the organization of complex pathology datasets.
How to install PathML
View source1. Install with the skills CLI
npx skills add k-dense-ai/scientific-agent-skills/pathml --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by k-dense-aiPathML
Scope and safety boundary
Use PathML for local computational pathology research. It is beta research software, not a validated medical device, diagnostic system, clinical decision support tool, or substitute for a pathologist. Do not use outputs to diagnose, grade, stage, or treat a patient.
Pathology files may contain faces, labels, accession numbers, patient identifiers, DICOM tags, filenames, or linked clinical data. Before processing:
- Confirm authorization, consent/waiver, data-use terms, and institutional policy.
- De-identify pixels and metadata; keep the re-identification key outside the analysis workspace.
- Use pseudonymous
patient_id,slide_id, andspecimen_idvalues. Do not put direct identifiers in filenames, logs,.h5pathlabels, model cards, or reports. - Keep inputs, intermediates, and outputs on approved local encrypted storage.
- Split by patient (then slide) before tiling or fitting any preprocessing step.
Version baseline, verified 2026-07-23
- Installable stable release: PyPI
pathml==3.0.5, published 2026-03-24. - The v3.0.5 release notes state Python 3.10-3.12 and sunset 3.9.
PyPI does not declare
Requires-Pythonand still has a stale 3.8 classifier, so use the release statement and test the exact environment. - GitHub releases v3.0.6 (2026-04-14) and v3.0.7 (2026-07-09) exist, but PyPI has no artifacts for them as of this review. v3.0.7 updates Torch/TorchVision/ torch-geometric and ONNX export code. Do not mix those source dependencies with the 3.0.5 wheel.
- ReadTheDocs
/latestidentifies itself as 3.0.5. Examples here were checked against the v3.0.5 tag and PyPI wheel metadata, not unversioned snippets. - This skill is MIT-licensed. PathML itself is GPL-2.0 with upstream commercial licensing options; review upstream terms before redistribution.
Reproducible installation
Use Python 3.11 unless the project has tested another supported interpreter:
uv venv --python 3.11
source .venv/bin/activate
uv pip install "pathml==3.0.5"
python -c "import importlib.metadata as m; print(m.version('pathml'))"
PathML 3.0.5 declares no package extras: do not use pathml[all]. Its base
distribution pins a large scientific/ML stack, including Torch 2.8.0, ONNX 1.17.0,
ONNX Runtime 1.17.x, OpenSlide Python 1.3.1, python-bioformats 4.1.0, and
python-javabridge 4.0.4.
Install native prerequisites before the uv command:
# Debian/Ubuntu
sudo apt-get install openslide-tools gcc g++ libblas-dev liblapack-dev openjdk-17-jdk
# macOS
brew install openslide openjdk@17
# Windows OpenSlide option documented upstream
vcpkg install openslide
Java/Bio-Formats is needed for the broad multidimensional format backend.
OpenSlide handles common brightfield WSI formats more efficiently. CUDA is
optional and must match the pinned PyTorch build; follow PyTorch's platform
selector rather than guessing a CUDA wheel. See references/image_loading.md.
Stable minimal workflow
PathML 3.0.5 uses slide convenience classes and SlideData.run(). It does not
provide SlideData.from_slide(), and Pipeline does not have run():
from pathml.core import HESlide
from pathml.preprocessing import BoxBlur, Pipeline, TissueDetectionHE
slide = HESlide("data/pseudonymous_slide.svs", backend="openslide")
pipeline = Pipeline(
[
BoxBlur(kernel_size=5),
TissueDetectionHE(mask_name="tissue", min_region_size=5000),
]
)
slide.run(
pipeline,
distributed=False,
tile_size=512,
tile_stride=512,
level=0,
tile_pad=False,
)
slide.write("derived/pseudonymous_slide.h5path")
Start with a bounded manual sample before a full run:
from itertools import islice
for tile in islice(slide.generate_tiles(shape=512, stride=512, level=0), 8):
pipeline.apply(tile)
assert tile.masks["tissue"].shape[:2] == tile.image.shape[:2]
Tiles use (i, j) = (row, column) coordinates at the selected pyramid level.
For OpenSlide, PathML maps them to level-0 coordinates internally. Record the
level and downsample; convert to (x, y) or micrometres explicitly downstream.
Research workflow
- Inventory locally. Validate the manifest, reject URLs/symlinks, inspect only allowlisted technical metadata, and remove identifiers.
- Freeze splits. Assign every patient and all their slides to one split before generating overlapping tiles, graphs, normalization references, or features.
- Plan bounds. Estimate tile count, RAM, output size, and pipeline stages.
- Pilot preprocessing. Inspect tissue masks, whitespace/artifact labels, stain behavior, edge padding, and empty-mask cases on representative training slides. Do not tune from test slides.
- Run and preserve coordinates. Keep tile level,
(i, j), downsample, MPP, mask names, QC decisions, and failed/skipped tiles. - Build spatial data deliberately. Validate channel order, physical units, instance labels, node-feature alignment, graph edges, and cell-to-tissue assignments.
- Infer in bounded batches. Verify model provenance and checksum without loading unknown pickle checkpoints. Keep predictions linked to slide/tile coordinates and stitch overlaps with a documented rule.
- Report provenance and limits. Include package lock, source hashes, scanner, stain, parameters, seeds, split manifest, model card, exclusions, and QC.
No-network default and explicit consent gate
Do not instantiate download-capable classes or set dataset download=True unless
the user explicitly opts in after receiving the endpoint and disclosure:
SegmentMIFRemotedownloads an ONNX file fromhttps://huggingface.co/pathml/test/resolve/main/mesmer.onnxat construction, then runs inference locally. Stable source does not upload image pixels. The request still discloses network metadata such as IP address and headers and createstemp.onnx; there is no built-in checksum or offline flag.- Deprecated
SegmentMIFimports local DeepCell Mesmer, but DeepCell model initialization may need separately provisioned weights. It is not a PathML extra and is not the preferred stable API. RemoteTestHoverNetdownloads a model from Hugging Face.PanNukeDataModule(download=True)contacts Warwick;DeepFocusDataModulecontacts Zenodo. Both default todownload=False.
Before any future hosted prediction call, state the exact destination, pixel channels/regions, metadata, identifiers, retention, legal basis, and safeguards; obtain explicit consent; and never send PHI by default. Prefer reviewed, checksummed local model artifacts and local inference.
Model-code security
- PyTorch
model.eval()means evaluation mode for modules; it is not Python's dangerous built-in evaluator. Never use Python dynamic evaluation or execution. - Do not name local files
pathml.py,torch.py,onnx.py, or after standard libraries; shadow modules can silently change imports. - PathML's
EntityDatasetloads.ptobjects withweights_only=False. Never open an untrusted graph/checkpoint. Treat pickle-based pipelines and.ptfiles as executable code. - ONNX is safer than pickle but not inherently trusted. Verify source, SHA-256, expected input/output schema, file size, and runtime limits; use isolation for third-party models.
Bundled local CLIs
All helpers reject URLs and symlinks, cap inputs/work, use strict JSON, avoid
network access, and require no PathML import for --help:
python scripts/slide_manifest.py validate --manifest manifest.csv --root .
python scripts/slide_manifest.py inspect --slide data/example.svs --root .
python scripts/plan_pipeline.py --width 100000 --height 80000 --tile-size 512 --stride 512
python scripts/image_qc.py synthetic --width 256 --height 256
python scripts/validate_spatial_schema.py graph --input graph.json --root .
python scripts/validate_spatial_schema.py multiplex --input cells.csv --root .
python scripts/plan_inference.py --tile-count 4000 --batch-size 16 --height 256 --width 256
The inference planner reads numbers or a bounded JSON model card only; it never imports a model framework or opens a checkpoint.
Detailed references
references/image_loading.md— slide classes, backends, formats, levels, coordinates, technical metadata, and privacy.references/preprocessing.md— stable transforms, masks/QC, stain processing, pipeline execution, and leakage prevention.references/data_management.md—.h5path, manifests, datasets, provenance, splits, and safe downloads.references/multiparametric.md— multidimensional layout, CODEX/Vectra, quantification, AnnData, DeepCell/Mesmer, and network disclosure.references/graphs.md— instance maps, feature alignment, KNN/RAG/HACT graphs, spatial units, schemas, and validation.references/machine_learning.md— HoVer-Net/HACTNet, local ONNX inference, batching, checkpoint trust, evaluation, and model provenance.
Primary sources
All checked 2026-07-23:
- PyPI metadata: https://pypi.org/project/pathml/3.0.5/
- Stable source tag: https://github.com/Dana-Farber-AIOS/pathml/tree/v3.0.5
- Releases: https://github.com/Dana-Farber-AIOS/pathml/releases
- Stable documentation: https://pathml.readthedocs.io/en/stable/
- Rosenthal et al. (2022), PathML toolkit: https://doi.org/10.1158/1541-7786.MCR-21-0665
- Omar et al. (2025), multiplex workflows: https://doi.org/10.1016/j.labinv.2025.104220
Frequently asked questions about PathML
Similar skills
Scientific Problem Selection
Streamline your research problem selection process.
Nextflow Development
Run nf-core bioinformatics pipelines with ease.
Nature Reviewer Assessment
Simulate peer review for scientific manuscripts.
Research Writing Pipeline
Streamline your scientific writing with structured proposal-first methodologies.
Nature Literature Downloader
Efficiently download academic literature from various sources.
Auto Research
Streamline your NeMo-RL experiments with automated workflows.
