Repository navigation
This release separates CPU analysis from the segmentation and NVIDIA dependencies, upgrades the segmentation Torch stack, and fixes issues in spatial queries, image features, WSI processing, and checkpoint loading.
Installation and migration
pip install histolytics # CPU spatial and image analysis
pip install 'histolytics[segmentation]' # Models and segmentation workflows
pip install 'histolytics[all]' # Full installation on LinuxExisting segmentation users must now select segmentation or all. The cucim and cuda-analysis extras remain available.
Segmentation requires Torch >=2.9.1,<3.0, following the upstream model package's major-version limit. The development lock retains Torch 2.9.1; CPU model and published-checkpoint compatibility checks also passed with Torch 2.14.1 and torchvision 0.29.1.
Supported Python versions are 3.10–3.12. NVIDIA extras require Linux; macOS segmentation requires Apple silicon.
The FileHandler and H5Handler aliases have been removed from histolytics.utils. Import them directly:
from cellseg_models_pytorch.utils import FileHandler, H5HandlerSee the installation and migration guide for reader prerequisites and CPU-only Torch installation.
Fixes
- Keep checkpoint class mappings independent between loaded models.
- Correct spatial object selection in queries and tile assembly.
- Preserve neighborhood ordering, node-ID alignment, and tuple-neighborhood compatibility.
- Honor geometry smoothing settings throughout model post-processing.
- Correct WSI patch packing, requested mask returns, zero-worker iteration, and batch counts.
- Rasterize annotations directly on the requested pyramid grid, preserving instance IDs and class labels.
- Allow CPU texture, intensity, and chromatin features to run without CuPy.
- Correct texture-feature handling of sparse IDs, masked nuclei, small objects, and empty results.
- Detect cuML clustering and cuCIM color-processing dependencies independently.
Documentation
- Add the published Histolytics citation to the documentation landing page.
- Align the README and landing page and remove emojis.
- Verify Google-style docstrings in generated API documentation.
Python 3.13 remains unsupported. Unequal-axis masked WSI reads remain explicitly rejected pending an upstream coordinate-handling fix.