panoptica


Namepanoptica JSON
Version 0.6.5 PyPI version JSON
download
home_pagehttps://github.com/BrainLesion/panoptica
SummaryPanoptic Quality (PQ) computation for binary masks.
upload_time2024-04-18 11:33:50
maintainerNone
docs_urlNone
authorFlorian Kofler
requires_python<4.0,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version panoptica](https://badge.fury.io/py/panoptica.svg)](https://pypi.python.org/pypi/panoptica/)
[![Documentation Status](https://readthedocs.org/projects/panoptica/badge/?version=latest)](http://panoptica.readthedocs.io/?badge=latest)
[![tests](https://github.com/BrainLesion/panoptica/actions/workflows/tests.yml/badge.svg)](https://github.com/BrainLesion/panoptica/actions/workflows/tests.yml)


# panoptica

Computing instance-wise segmentation quality metrics for 2D and 3D semantic- and instance segmentation maps.

## Features

The package provides three core modules:

1. Instance Approximator: instance approximation algorithms to extract instances from semantic segmentation maps/model outputs.
2. Instance Matcher: matches predicted instances with reference instances.
3. Instance Evaluator: computes segmentation and detection quality metrics for pairs of predicted - and reference segmentation maps.

![workflow_figure](https://github.com/BrainLesion/panoptica/blob/main/examples/figures/workflow.png?raw=true)

## Installation

With a Python 3.10+ environment, you can install panoptica from [pypi.org](https://pypi.org/project/panoptica/)

```sh
pip install panoptica
```

## Use cases and tutorials

For tutorials featuring various use cases, see: [BrainLesion/tutorials/panoptica](https://github.com/BrainLesion/tutorials/tree/main/panoptica)

### Semantic Segmentation Input

<img src="https://github.com/BrainLesion/panoptica/blob/main/examples/figures/semantic.png?raw=true" alt="semantic_figure" height="300"/>

[Jupyter notebook tutorial](https://github.com/BrainLesion/tutorials/tree/main/panoptica/example_spine_semantic.ipynb)


Although an instance-wise evaluation is highly relevant and desirable for many biomedical segmentation problems, they are still addressed as semantic segmentation problems due to the lack of appropriate instance labels.

This tutorial leverages all three modules of panoptica: instance approximation, -matching and -evaluation.

### Unmatched Instances Input

<img src="https://github.com/BrainLesion/panoptica/blob/main/examples/figures/unmatched_instance.png?raw=true" alt="unmatched_instance_figure" height="300"/>

[Jupyter notebook tutorial](https://github.com/BrainLesion/tutorials/tree/main/panoptica/example_spine_unmatched_instance.ipynb)

It is a common issue that instance segmentation outputs feature good outlines but mismatched instance labels.
For this case, the matcher module can be utilized to match instances and the evaluator to report metrics.


### Matched Instances Input

<img src="https://github.com/BrainLesion/panoptica/blob/main/examples/figures/matched_instance.png?raw=true" alt="matched_instance_figure" height="300"/>

[Jupyter notebook tutorial](https://github.com/BrainLesion/tutorials/tree/main/panoptica/example_spine_matched_instance.ipynb) 

If your predicted instances already match the reference instances, you can directly compute metrics using the evaluator module.

## Citation

If you use panoptica in your research, please cite it to support the development!

Kofler, F., Möller, H., Buchner, J. A., de la Rosa, E., Ezhov, I., Rosier, M., Mekki, I., Shit, S., Negwer, M., Al-Maskari, R., Ertürk, A., Vinayahalingam, S., Isensee, F., Pati, S., Rueckert, D., Kirschke, J. S., Ehrlich, S. K., Reinke, A., Menze, B., Wiestler, B., & Piraud, M. (2023). *Panoptica -- instance-wise evaluation of 3D semantic and instance segmentation maps.* [arXiv preprint arXiv:2312.02608](https://arxiv.org/abs/2312.02608).

```
@misc{kofler2023panoptica,
      title={Panoptica -- instance-wise evaluation of 3D semantic and instance segmentation maps}, 
      author={Florian Kofler and Hendrik Möller and Josef A. Buchner and Ezequiel de la Rosa and Ivan Ezhov and Marcel Rosier and Isra Mekki and Suprosanna Shit and Moritz Negwer and Rami Al-Maskari and Ali Ertürk and Shankeeth Vinayahalingam and Fabian Isensee and Sarthak Pati and Daniel Rueckert and Jan S. Kirschke and Stefan K. Ehrlich and Annika Reinke and Bjoern Menze and Benedikt Wiestler and Marie Piraud},
      year={2023},
      eprint={2312.02608},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/BrainLesion/panoptica",
    "name": "panoptica",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Florian Kofler",
    "author_email": "florian.kofler@tum.de",
    "download_url": null,
    "platform": null,
    "description": "[![PyPI version panoptica](https://badge.fury.io/py/panoptica.svg)](https://pypi.python.org/pypi/panoptica/)\n[![Documentation Status](https://readthedocs.org/projects/panoptica/badge/?version=latest)](http://panoptica.readthedocs.io/?badge=latest)\n[![tests](https://github.com/BrainLesion/panoptica/actions/workflows/tests.yml/badge.svg)](https://github.com/BrainLesion/panoptica/actions/workflows/tests.yml)\n\n\n# panoptica\n\nComputing instance-wise segmentation quality metrics for 2D and 3D semantic- and instance segmentation maps.\n\n## Features\n\nThe package provides three core modules:\n\n1. Instance Approximator: instance approximation algorithms to extract instances from semantic segmentation maps/model outputs.\n2. Instance Matcher: matches predicted instances with reference instances.\n3. Instance Evaluator: computes segmentation and detection quality metrics for pairs of predicted - and reference segmentation maps.\n\n![workflow_figure](https://github.com/BrainLesion/panoptica/blob/main/examples/figures/workflow.png?raw=true)\n\n## Installation\n\nWith a Python 3.10+ environment, you can install panoptica from [pypi.org](https://pypi.org/project/panoptica/)\n\n```sh\npip install panoptica\n```\n\n## Use cases and tutorials\n\nFor tutorials featuring various use cases, see: [BrainLesion/tutorials/panoptica](https://github.com/BrainLesion/tutorials/tree/main/panoptica)\n\n### Semantic Segmentation Input\n\n<img src=\"https://github.com/BrainLesion/panoptica/blob/main/examples/figures/semantic.png?raw=true\" alt=\"semantic_figure\" height=\"300\"/>\n\n[Jupyter notebook tutorial](https://github.com/BrainLesion/tutorials/tree/main/panoptica/example_spine_semantic.ipynb)\n\n\nAlthough an instance-wise evaluation is highly relevant and desirable for many biomedical segmentation problems, they are still addressed as semantic segmentation problems due to the lack of appropriate instance labels.\n\nThis tutorial leverages all three modules of panoptica: instance approximation, -matching and -evaluation.\n\n### Unmatched Instances Input\n\n<img src=\"https://github.com/BrainLesion/panoptica/blob/main/examples/figures/unmatched_instance.png?raw=true\" alt=\"unmatched_instance_figure\" height=\"300\"/>\n\n[Jupyter notebook tutorial](https://github.com/BrainLesion/tutorials/tree/main/panoptica/example_spine_unmatched_instance.ipynb)\n\nIt is a common issue that instance segmentation outputs feature good outlines but mismatched instance labels.\nFor this case, the matcher module can be utilized to match instances and the evaluator to report metrics.\n\n\n### Matched Instances Input\n\n<img src=\"https://github.com/BrainLesion/panoptica/blob/main/examples/figures/matched_instance.png?raw=true\" alt=\"matched_instance_figure\" height=\"300\"/>\n\n[Jupyter notebook tutorial](https://github.com/BrainLesion/tutorials/tree/main/panoptica/example_spine_matched_instance.ipynb) \n\nIf your predicted instances already match the reference instances, you can directly compute metrics using the evaluator module.\n\n## Citation\n\nIf you use panoptica in your research, please cite it to support the development!\n\nKofler, F., M\u00f6ller, H., Buchner, J. A., de la Rosa, E., Ezhov, I., Rosier, M., Mekki, I., Shit, S., Negwer, M., Al-Maskari, R., Ert\u00fcrk, A., Vinayahalingam, S., Isensee, F., Pati, S., Rueckert, D., Kirschke, J. S., Ehrlich, S. K., Reinke, A., Menze, B., Wiestler, B., & Piraud, M. (2023). *Panoptica -- instance-wise evaluation of 3D semantic and instance segmentation maps.* [arXiv preprint arXiv:2312.02608](https://arxiv.org/abs/2312.02608).\n\n```\n@misc{kofler2023panoptica,\n      title={Panoptica -- instance-wise evaluation of 3D semantic and instance segmentation maps}, \n      author={Florian Kofler and Hendrik M\u00f6ller and Josef A. Buchner and Ezequiel de la Rosa and Ivan Ezhov and Marcel Rosier and Isra Mekki and Suprosanna Shit and Moritz Negwer and Rami Al-Maskari and Ali Ert\u00fcrk and Shankeeth Vinayahalingam and Fabian Isensee and Sarthak Pati and Daniel Rueckert and Jan S. Kirschke and Stefan K. Ehrlich and Annika Reinke and Bjoern Menze and Benedikt Wiestler and Marie Piraud},\n      year={2023},\n      eprint={2312.02608},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Panoptic Quality (PQ) computation for binary masks.",
    "version": "0.6.5",
    "project_urls": {
        "Documentation": "https://panoptica.readthedocs.io/",
        "Homepage": "https://github.com/BrainLesion/panoptica",
        "Repository": "https://github.com/BrainLesion/panoptica"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ee632d4f8f9318b32c78a2d955983b62405c539f8dc44e578f91f808d00df9e",
                "md5": "cf2e6527a357273dcb345ea0d07757d3",
                "sha256": "cc5ee6b82525cb98bb107f6c75d3f1b35311ae7fbc502b3ee7e2bba2e5a72fa8"
            },
            "downloads": -1,
            "filename": "panoptica-0.6.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cf2e6527a357273dcb345ea0d07757d3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 32255,
            "upload_time": "2024-04-18T11:33:50",
            "upload_time_iso_8601": "2024-04-18T11:33:50.220203Z",
            "url": "https://files.pythonhosted.org/packages/9e/e6/32d4f8f9318b32c78a2d955983b62405c539f8dc44e578f91f808d00df9e/panoptica-0.6.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-18 11:33:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BrainLesion",
    "github_project": "panoptica",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "panoptica"
}
        
Elapsed time: 0.24595s