torchstain
torchstain copied to clipboard
Stain normalization tools for histological analysis and computational pathology
Related to issue https://github.com/EIDOSLAB/torchstain/issues/43. ### Changes * I implemented StainTools-like Macenko augmentation for all three backends. * It also made a sense to implement an augmentation example script, and thus...
Fixes https://github.com/EIDOSLAB/torchstain/issues/50. I have verified that no similar issue were in the other backends and for both rgb2lab and lab2rgb scripts.
I have reproduced the Vahadane implementation from [StainTools](https://github.com/Peter554/StainTools). The implementation is with numpy backend, but there are two steps that remains for this to work with pure numpy. **Hence, this...
[no ci]
I observed an issue with installing compiled wheels in my test CIs in [another project](https://github.com/andreped/GradientAccumulator/blob/main/.github/workflows/test.yml#L82). Apparently, pip ignores the --file-links argument if it finds a suitable wheel with the same...
**Describe the bug** In [THIS LINE](https://github.com/EIDOSLAB/torchstain/blob/3a3eb2c8af2662b4a001cf134f9a1bd24e0bdba7/torchstain/torch/utils/rgb2lab.py#L28) from rgb2lab implementation, the value `166` should be `116`. **Expected behavior** The line should be changed to `arr.masked_scatter_(not_mask, 7.787 * torch.masked_select(arr, not_mask) + 16...
**Describe the bug** A clear and concise description of what the bug is. It seems like all parameters of the torch-based normalizers are hard coded as tensors on CPUs and...
Made the initial draft of the Documentations, which are stored in `docs/`. The goal is to serve this at [readthedocs.org](https://readthedocs.org/), and offer more detailed examples, use cases, and API documentation...
**Is your feature request related to a problem? Please describe.** I believe a lot of users would benefit of clearer documentations on which methods actually exist and how to use...
This feature request was mentioned in issue https://github.com/EIDOSLAB/torchstain/issues/3. However, I believe it would be better to track it in a separate issue. The idea is basically to introduce the functionality...