histolytics


Namehistolytics JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryPanoptic Segmentation and WSI Spatial Analysis
upload_time2025-08-18 12:49:39
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseBSD 3-Clause License Copyright (c) 2024-2025, HautaniemiLab All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords computer vision geospatial panoptic segmentation spatial analysis whole slide image
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

![Logo](imgs/histolytics_logo.png)

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

[![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/) [![Model Checkpoints](https://img.shields.io/badge/%F0%9F%A4%97%20HF-Model%20Hub-yellow)](https://huggingface.co/histolytics-hub)
</div>

## Introduction

**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.


## Panoptic Segmentation Features ๐ŸŒŸ
- Fast WSI-level panoptic segmentation. See [example](https://hautaniemilab.github.io/histolytics/user_guide/seg/panoptic_segmentation/).
- Low memory-footprint segmentation results with [`__geo_interface__`](https://gist.github.com/sgillies/2217756)-specification.
- Multiple vectorized segmentation output formats (geojson/feather/parquet).
- Several panoptic segmentation model architectures for histological WSIs with flexible backbone support: See [example](https://hautaniemilab.github.io/histolytics/user_guide/seg/backbones/)
- Pre-trained models in model-hub. See: [histolytics-hub](https://huggingface.co/histolytics-hub)

## Spatial Analysis Features ๐Ÿ“Š
- Fast Spatial Querying of WSI-scale panoptic segmentation maps. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/querying/)
- Spatial indexing/partitioning for localized spatial statistics and analysis. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/partitioning/)
- Graph-based neighborhood analysis for local cell neighborhoods. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/nhoods/)
- Plotting utilities for spatial data visualization. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/legendgram/)
- Spatial clustering and cluster centrography metrics. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/clustering/)
- 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/)
- 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/)

## Example Workflows ๐Ÿงช
- Immuno-oncology Profiling:
  - [Spatial Statistics of TILs](https://hautaniemilab.github.io/histolytics/user_guide/workflows/TIL_workflow/).
  - [Profiling TLS and Lymphoid Aggregates](https://hautaniemilab.github.io/histolytics/user_guide/workflows/tls_lymphoid_aggregate/).
- Nuclear Pleomorphism:
  - [Nuclear Morphology Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/nuclear_morphology/).
  - [Nuclear Chromatin Distribution Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/chromatin_patterns/).
- TME Characterization:
  - [Collagen Fiber Disorder Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/collagen_orientation/).
  - [Characterization of Desmoplastic Stroma](https://hautaniemilab.github.io/histolytics/user_guide/workflows/clustering_desmoplasia/).
- Nuclei Neighborhoods:
  - [Tumor Cell Accessibility](https://hautaniemilab.github.io/histolytics/user_guide/workflows/tumor_cell_accessibility/).


## Installation ๐Ÿ› ๏ธ

```shell
pip install histolytics
```

## Models ๐Ÿค–

- Panoptic [HoVer-Net](https://www.sciencedirect.com/science/article/abs/pii/S1361841519301045)
- Panoptic [Cellpose](https://www.nature.com/articles/s41592-020-01018-x)
- Panoptic [Stardist](https://arxiv.org/abs/1806.03535)
- Panoptic [CellVit-SAM](https://arxiv.org/abs/2306.15350)
- Panoptic [CPP-Net](https://arxiv.org/abs/2102.06867)

## Contributing

We welcome contributions! To get started:

1. Fork the repository and create your branch from `main`.
2. Make your changes with clear commit messages.
3. Ensure all tests pass and add new tests as needed.
4. Submit a pull request describing your changes.

See [contributing guide](https://github.com/HautaniemiLab/histolytics/blob/main/CONTRIBUTING.md) for detailed guidelines.

## Citation

```bibtex
@article{2025histolytics,
  title={Histolytics: A Panoptic Spatial Analysis Framework for Interpretable Histopathology},
  author={Oskari Lehtonen, Niko Nordlund, Shams Salloum, Ilkka Kalliala, Anni Virtanen, Sampsa Hautaniemi},
  journal={XX},
  volume={XX},
  number={XX},
  pages={XX},
  year={2025},
  publisher={XX}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "histolytics",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "computer vision, geospatial, panoptic segmentation, spatial analysis, whole slide image",
    "author": null,
    "author_email": "Oskari Lehtonen <oskari.lehtonen@helsinki.fi>",
    "download_url": "https://files.pythonhosted.org/packages/b7/73/a3fb4ccf123765d186d1431c72373354d36cac0411ff832cf42ac5921eb2/histolytics-0.2.1.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n![Logo](imgs/histolytics_logo.png)\n\n**A Python library for scalable panoptic spatial analysis of histological WSIs**\n\n[![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/)\n[![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)\n</div>\n\n## Introduction\n\n**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.\n\n\n## Panoptic Segmentation Features \ud83c\udf1f\n- Fast WSI-level panoptic segmentation. See [example](https://hautaniemilab.github.io/histolytics/user_guide/seg/panoptic_segmentation/).\n- Low memory-footprint segmentation results with [`__geo_interface__`](https://gist.github.com/sgillies/2217756)-specification.\n- Multiple vectorized segmentation output formats (geojson/feather/parquet).\n- Several panoptic segmentation model architectures for histological WSIs with flexible backbone support: See [example](https://hautaniemilab.github.io/histolytics/user_guide/seg/backbones/)\n- Pre-trained models in model-hub. See: [histolytics-hub](https://huggingface.co/histolytics-hub)\n\n## Spatial Analysis Features \ud83d\udcca\n- Fast Spatial Querying of WSI-scale panoptic segmentation maps. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/querying/)\n- Spatial indexing/partitioning for localized spatial statistics and analysis. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/partitioning/)\n- Graph-based neighborhood analysis for local cell neighborhoods. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/nhoods/)\n- Plotting utilities for spatial data visualization. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/legendgram/)\n- Spatial clustering and cluster centrography metrics. See [example](https://hautaniemilab.github.io/histolytics/user_guide/spatial/clustering/)\n- 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/)\n- 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/)\n\n## Example Workflows \ud83e\uddea\n- Immuno-oncology Profiling:\n  - [Spatial Statistics of TILs](https://hautaniemilab.github.io/histolytics/user_guide/workflows/TIL_workflow/).\n  - [Profiling TLS and Lymphoid Aggregates](https://hautaniemilab.github.io/histolytics/user_guide/workflows/tls_lymphoid_aggregate/).\n- Nuclear Pleomorphism:\n  - [Nuclear Morphology Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/nuclear_morphology/).\n  - [Nuclear Chromatin Distribution Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/chromatin_patterns/).\n- TME Characterization:\n  - [Collagen Fiber Disorder Analysis](https://hautaniemilab.github.io/histolytics/user_guide/workflows/collagen_orientation/).\n  - [Characterization of Desmoplastic Stroma](https://hautaniemilab.github.io/histolytics/user_guide/workflows/clustering_desmoplasia/).\n- Nuclei Neighborhoods:\n  - [Tumor Cell Accessibility](https://hautaniemilab.github.io/histolytics/user_guide/workflows/tumor_cell_accessibility/).\n\n\n## Installation \ud83d\udee0\ufe0f\n\n```shell\npip install histolytics\n```\n\n## Models \ud83e\udd16\n\n- Panoptic [HoVer-Net](https://www.sciencedirect.com/science/article/abs/pii/S1361841519301045)\n- Panoptic [Cellpose](https://www.nature.com/articles/s41592-020-01018-x)\n- Panoptic [Stardist](https://arxiv.org/abs/1806.03535)\n- Panoptic [CellVit-SAM](https://arxiv.org/abs/2306.15350)\n- Panoptic [CPP-Net](https://arxiv.org/abs/2102.06867)\n\n## Contributing\n\nWe welcome contributions! To get started:\n\n1. Fork the repository and create your branch from `main`.\n2. Make your changes with clear commit messages.\n3. Ensure all tests pass and add new tests as needed.\n4. Submit a pull request describing your changes.\n\nSee [contributing guide](https://github.com/HautaniemiLab/histolytics/blob/main/CONTRIBUTING.md) for detailed guidelines.\n\n## Citation\n\n```bibtex\n@article{2025histolytics,\n  title={Histolytics: A Panoptic Spatial Analysis Framework for Interpretable Histopathology},\n  author={Oskari Lehtonen, Niko Nordlund, Shams Salloum, Ilkka Kalliala, Anni Virtanen, Sampsa Hautaniemi},\n  journal={XX},\n  volume={XX},\n  number={XX},\n  pages={XX},\n  year={2025},\n  publisher={XX}\n}\n```\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License  Copyright (c) 2024-2025, HautaniemiLab All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
    "summary": "Panoptic Segmentation and WSI Spatial Analysis",
    "version": "0.2.1",
    "project_urls": {
        "Changelog": "https://github.com/HautaniemiLab/histolytics/blob/main/CHANGELOG.md",
        "Documentation": "https://hautaniemilab.github.io/histolytics/",
        "Homepage": "https://hautaniemilab.github.io/histolytics/",
        "Repository": "https://github.com/HautaniemiLab/histolytics"
    },
    "split_keywords": [
        "computer vision",
        " geospatial",
        " panoptic segmentation",
        " spatial analysis",
        " whole slide image"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "31762fe0829ee0ac8b5b8e54601b5b3dd65bc500162081f38d14926f5f4f6fd4",
                "md5": "7e12cf73a2d00666973db780814a74ae",
                "sha256": "a191f725ce70c6680ae9389d6049a68a98be5b2ee73c204d67be07f68f9c7c17"
            },
            "downloads": -1,
            "filename": "histolytics-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7e12cf73a2d00666973db780814a74ae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 38697032,
            "upload_time": "2025-08-18T12:49:35",
            "upload_time_iso_8601": "2025-08-18T12:49:35.838256Z",
            "url": "https://files.pythonhosted.org/packages/31/76/2fe0829ee0ac8b5b8e54601b5b3dd65bc500162081f38d14926f5f4f6fd4/histolytics-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b773a3fb4ccf123765d186d1431c72373354d36cac0411ff832cf42ac5921eb2",
                "md5": "39f5c5689f388a452874cb4de1b06a8d",
                "sha256": "406f0e320ed82e145b3a66d0d2330bf4305376d3965aa0162dd74d3616b3d6ef"
            },
            "downloads": -1,
            "filename": "histolytics-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "39f5c5689f388a452874cb4de1b06a8d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 38961773,
            "upload_time": "2025-08-18T12:49:39",
            "upload_time_iso_8601": "2025-08-18T12:49:39.845191Z",
            "url": "https://files.pythonhosted.org/packages/b7/73/a3fb4ccf123765d186d1431c72373354d36cac0411ff832cf42ac5921eb2/histolytics-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-18 12:49:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "HautaniemiLab",
    "github_project": "histolytics",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "histolytics"
}
        
Elapsed time: 0.69839s