Skip to content

Commit c76cafb

Browse files
committed
chore: bump version, add changelog, update deps and README
1 parent b075bf9 commit c76cafb

File tree

6 files changed

+4549
-2466
lines changed

6 files changed

+4549
-2466
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
All notable changes to Histolytics will be documented in this file.
44

5+
## [0.2.0] - 2025-08-18
6+
### Added
7+
- Unify feature extraction API
8+
- Major performance improvements for functions in `stromal_feats` and `nuc_feats` modules
9+
- Add `textural_feats` for GLCM feature extraction. Uses skimage.
10+
- Add `manders_coloc_coeff`, `n_chrom_clumps` and `chrom_boundary_prop` feats to `chromatin_feats`
11+
- Update documentation pages
12+
13+
514
## [0.1.1] - 2025-07-03
615

716
### Added

README.md

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,51 @@
44

55
**A Python library for scalable panoptic spatial analysis of histological WSIs**
66

7-
[![Github Test](https://img.shields.io/github/actions/workflow/status/HautaniemiLab/histolytics/tests.yml?label=tests)](https://github.com/HautaniemiLab/histolytics/blob/main/.github/workflows/tests.yml) [![License](https://img.shields.io/github/license/HautaniemiLab/histolytics)](https://github.com/HautaniemiLab/histolytics/blob/main/LICENSE) [![Python - Version](https://img.shields.io/pypi/pyversions/histolytics)](https://www.python.org/) [![Package - Version](https://img.shields.io/pypi/v/histolytics)](https://pypi.org/project/histolytics/)
8-
7+
[![Github Test](https://img.shields.io/github/actions/workflow/status/HautaniemiLab/histolytics/tests.yml?label=tests)](https://github.com/HautaniemiLab/histolytics/blob/main/.github/workflows/tests.yml) [![License](https://img.shields.io/github/license/HautaniemiLab/histolytics)](https://github.com/HautaniemiLab/histolytics/blob/main/LICENSE) [![Python - Version](https://img.shields.io/pypi/pyversions/histolytics)](https://www.python.org/)
8+
[![Package - Version](https://img.shields.io/pypi/v/histolytics)](https://pypi.org/project/histolytics/) [![Model Checkpoints](https://img.shields.io/badge/%F0%9F%A4%97%20HF-Model%20Hub-yellow)](https://huggingface.co/histolytics-hub)
99
</div>
1010

1111
## Introduction
1212

13-
**histolytics** is a spatial analysis library for histological whole slide images (WSI) library built upon [`torch`](https://pytorch.org/), [`geopandas`](https://geopandas.org/en/stable/index.html) and [`libpysal`](https://pysal.org/libpysal/). The library contains multi-task encoder-decoder architectures for **panoptic segmentation** of WSIs into [`__geo_interface__`](https://gist.github.com/sgillies/2217756)-format and a wide array of spatial analysis tools for the resulting segmentation masks.
13+
**histolytics** is a spatial analysis library for histological whole slide images (WSI). Built upon [`torch`](https://pytorch.org/), [`geopandas`](https://geopandas.org/en/stable/index.html) and [`libpysal`](https://pysal.org/libpysal/), the library provides a comprehensive and scalable framework for **panoptic segmentation** and **interpretable panoptic spatial analysis** of routine histopathology slides.
14+
1415

15-
## Features 🌟
16-
- WSI-level panoptic segmentation
17-
- Several panoptic segmentation models for histological WSIs
16+
## Panoptic Segmentation Features 🌟
17+
- Fast WSI-level panoptic segmentation. See [example](https://hautaniemilab.github.io/histolytics/user_guide/seg/panoptic_segmentation/).
18+
- Low memory-footprint segmentation results with [`__geo_interface__`](https://gist.github.com/sgillies/2217756)-specification.
19+
- Multiple vectorized segmentation output formats (geojson/feather/parquet).
20+
- Several panoptic segmentation model architectures for histological WSIs with flexible backbone support: See [example](https://hautaniemilab.github.io/histolytics/user_guide/seg/backbones/)
1821
- Pre-trained models in model-hub. See: [histolytics-hub](https://huggingface.co/histolytics-hub)
19-
- Versatile spatial analysis tools for segmented WSIs
22+
23+
## Spatial Analysis Features 📊
24+
- Fast Spatial Querying of WSI-scale panoptic segmentation maps. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/querying/)
25+
- Spatial indexing/partitioning for localized spatial statistics and analysis. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/partitioning/)
26+
- Graph-based neighborhood analysis for local cell neighborhoods. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/nhoods/)
27+
- Plotting utilities for spatial data visualization. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/legendgram/)
28+
- Spatial clustering and cluster centrography metrics. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/clustering/)
29+
- Large set of morphological, intensity, chromatin distribution, and textural features at nuclear level. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/nuclear_features/)
30+
- Large set of collagen fiber and intensity based features to characterize stroma and ECM. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/stromal_features/)
31+
32+
## Example Workflows 🧪
33+
- Immuno-oncology Profiling:
34+
- [Spatial Statistics of TILs](https://hautaniemilab.github.io/histolytics/user_guide/workflows/TIL_workflow/).
35+
- [Profiling TLS and Lymphoid Aggregates](https://hautaniemilab.github.io/histolytics/user_guide/workflows/tls_lymphoid_aggregate/).
36+
- Nuclear Pleomorphism:
37+
- [Nuclear Morphology Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/nuclear_morphology/).
38+
- [Nuclear Chromatin Distribution Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/chromatin_patterns/).
39+
- TME Characterization:
40+
- [Collagen Fiber Disorder Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/collagen_orientation/).
41+
- [Characterization of Desmoplastic Stroma](https://hautaniemilab.github.io/histolytics/user_guide/workflows/clustering_desmoplasia/).
42+
- Nuclei Neighborhoods:
43+
- [Tumor Cell Accessibility](https://hautaniemilab.github.io/histolytics/user_guide/workflows/tumor_cell_accessibility/).
44+
2045

2146
## Installation 🛠️
2247

2348
```shell
2449
pip install histolytics
2550
```
2651

27-
## Getting started with Histolytics
28-
29-
- [Segmentation Quick Start](https://hautaniemilab.github.io/histolytics/user_guide/seg/getting_started_seg/)
30-
- [API Reference](https://hautaniemilab.github.io/histolytics/api/)
31-
32-
3352
## Models 🤖
3453

3554
- Panoptic [HoVer-Net](https://www.sciencedirect.com/science/article/abs/pii/S1361841519301045)

mkdocs.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ nav:
9090
- Home: index.md
9191
- Installation: installation.md
9292
- User Guide:
93+
- Overview: user_guide/index.md
9394
- Segmentation:
9495
- Getting Started: user_guide/seg/getting_started_seg.md
9596
- Model Backbones: user_guide/seg/backbones.ipynb
@@ -108,12 +109,13 @@ nav:
108109
- Stromal Features: user_guide/spatial/stromal_features.ipynb
109110
- Medial Lines: user_guide/spatial/medial_lines.ipynb
110111
- WSI Analysis Workflows:
111-
- Quantifying tumor-infiltrating lymphocytes (TILs): user_guide/spatial/indexing_partitioning.ipynb
112-
- Quantifying Nuclear Chromatin Patterns: user_guide/spatial/chromatin_patterns.ipynb
113-
- Clustering Desmoplastic Stroma: user_guide/spatial/clustering_desmoplasia.ipynb
114-
- Tumor Cell Accessibility: user_guide/spatial/tumor_cell_accessibility.ipynb
115-
- Collagen Orientation Disorder Quantification: user_guide/spatial/collagen_orientation.ipynb
116-
- TLS and Lymphoid Aggregate Analysis: user_guide/spatial/tls_lymphoid_aggregate.ipynb
112+
- Quantifying tumor-infiltrating lymphocytes (TILs): user_guide/workflows/TIL_workflow.ipynb
113+
- TLS and Lymphoid Aggregate Analysis: user_guide/workflows/tls_lymphoid_aggregate.ipynb
114+
- Quantifying Neoplastic Nuclear Chromatin Patterns: user_guide/workflows/chromatin_patterns.ipynb
115+
- Quantifying Neoplastic Nuclear Morphology: user_guide/workflows/nuclear_morphology.ipynb
116+
- Quantifying Neoplastic Cell Accessibility: user_guide/workflows/tumor_cell_accessibility.ipynb
117+
- Clustering Desmoplastic Stroma: user_guide/workflows/clustering_desmoplasia.ipynb
118+
- Collagen Orientation Disorder Quantification: user_guide/workflows/collagen_orientation.ipynb
117119
- API Reference:
118120
- Overview: api/index.md
119121
- data:

pyproject.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "histolytics"
3-
version = "0.1.1"
3+
version = "0.2.0"
44
description = "Panoptic Segmentation and WSI Spatial Analysis"
55
readme = "README.md"
66
license = { file = "LICENSE" }
@@ -18,8 +18,9 @@ classifiers = [
1818
requires-python = ">=3.10"
1919
dependencies = [
2020
"albumentations>=2.0.6",
21-
"cellseg-models-pytorch>=0.1.26",
21+
"cellseg-models-pytorch>=0.1.28",
2222
"cucim-cu12>=25.6.0",
23+
"cuml-cu12>=25.6.0",
2324
"datasets>=3.6.0",
2425
"esda>=2.7.0",
2526
"geopandas>=1.0.1",
@@ -30,6 +31,7 @@ dependencies = [
3031
"networkx>=3.4.2",
3132
"pandarallel>=1.6.5",
3233
"quadbin>=0.2.2",
34+
"scikit-image>=0.25.0",
3335
"torchdata>=0.11.0",
3436
]
3537

src/histolytics/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
__version__ = "0.1.1"
1+
__version__ = "0.2.0"
22

33
__all__ = ["__version__"]

0 commit comments

Comments
 (0)