| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
GPU-accelerated stain tools for histopathological images. Compatible with PyTorch, TensorFlow, and Numpy.
Normalization algorithms currently implemented:
Augmentation algorithms currently implemented:
pip install torchstainTo install a specific backend use either torchstain[torch] or torchstain[tf]. The numpy backend is included by default in both.
import torch
from torchvision import transforms
import torchstain
import cv2
target = cv2.cvtColor(cv2.imread("./data/target.png"), cv2.COLOR_BGR2RGB)
to_transform = cv2.cvtColor(cv2.imread("./data/source.png"), cv2.COLOR_BGR2RGB)
T = transforms.Compose([
transforms.ToTensor(),
transforms.Lambda(lambda x: x*255)
])
normalizer = torchstain.normalizers.MacenkoNormalizer(backend='torch')
normalizer.fit(T(target))
t_to_transform = T(to_transform)
norm, H, E = normalizer.normalize(I=t_to_transform, stains=True)| Algorithm | numpy | torch | tensorflow |
|---|---|---|---|
| Macenko | ✓ | ✓ | ✓ |
| Reinhard | ✓ | ✓ | ✓ |
| Modified Reinhard | ✓ | ✓ | ✓ |
| Multi-target Macenko | ✓ | ✓ | ✓ |
| Macenko-Aug | ✓ | ✓ | ✓ |
Runtimes using the Macenko algorithm using different backends. Metrics were calculated from 10 repeated runs for each quadratic image size on an Intel(R) Core(TM) i5-8365U CPU @ 1.60GHz.
| size | numpy avg. time | torch avg. time | tf avg. time |
|---|---|---|---|
| 224 | 0.0182s ± 0.0016 | 0.0180s ± 0.0390 | 0.0048s ± 0.0002 |
| 448 | 0.0880s ± 0.0224 | 0.0283s ± 0.0172 | 0.0210s ± 0.0025 |
| 672 | 0.1810s ± 0.0139 | 0.0463s ± 0.0301 | 0.0354s ± 0.0018 |
| 896 | 0.3013s ± 0.0377 | 0.0820s ± 0.0329 | 0.0713s ± 0.0008 |
| 1120 | 0.4694s ± 0.0350 | 0.1321s ± 0.0237 | 0.1036s ± 0.0042 |
| 1344 | 0.6640s ± 0.0553 | 0.1665s ± 0.0026 | 0.1663s ± 0.0021 |
| 1568 | 1.1935s ± 0.0739 | 0.2590s ± 0.0088 | 0.2531s ± 0.0031 |
| 1792 | 1.4523s ± 0.0207 | 0.3402s ± 0.0114 | 0.3080s ± 0.0188 |
If you find this software useful for your research, please cite it as:
@software{barbano2022torchstain,
author = {Carlo Alberto Barbano and André Pedersen},
title = {EIDOSLAB/torchstain: v1.2.0-stable},
month = aug,
year = 2022,
publisher = {Zenodo},
version = {v1.2.0-stable},
doi = {10.5281/zenodo.6979540},
url = {https://doi.org/10.5281/zenodo.6979540}
}Torchstain was originally developed within the UNITOPATHO data collection, which you can cite as:
@inproceedings{barbano2021unitopatho,
title={UniToPatho, a labeled histopathological dataset for colorectal polyps classification and adenoma dysplasia grading},
author={Barbano, Carlo Alberto and Perlo, Daniele and Tartaglione, Enzo and Fiandrotti, Attilio and Bertero, Luca and Cassoni, Paola and Grangetto, Marco},
booktitle={2021 IEEE International Conference on Image Processing (ICIP)},
pages={76--80},
year={2021},
organization={IEEE}
}| Back | FazBrowse Home | New Git URL |