pysodmetrics


Namepysodmetrics JSON
Version 1.5.0 PyPI version JSON
download
home_pageNone
SummaryA simple and efficient metric implementation for grayscale/binary image segmentation like salient object detection, camouflaged object detection, and medical image segmentation.
upload_time2025-08-09 03:41:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseMIT License Copyright (c) 2020 lartpang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords salient object detection camouflaged object detection medical image segmentation saliency detection metric deep learning
VCS
bugtrack_url
requirements numpy scipy scikit-image
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <img src="https://github.com/lartpang/PySODMetrics/blob/main/images/logo.png?raw=true" alt="Logo" width="320" height="auto">
  </br>
  <h2>PySODMetrics: A simple and efficient implementation of SOD metrics</h2>
  <a href="./readme_zh.md"><img src="https://img.shields.io/badge/README-%E4%B8%AD%E6%96%87-blue"></a>
  <img src="https://img.shields.io/pypi/v/pysodmetrics">
  <img src="https://img.shields.io/pypi/dm/pysodmetrics?label=pypi%20downloads&logo=PyPI&logoColor=white">
  <img src="https://img.shields.io/github/last-commit/lartpang/PySODMetrics">
  <img src="https://img.shields.io/github/last-commit/lartpang/PySODMetrics">
  <img src="https://img.shields.io/github/release-date/lartpang/PySODMetrics">
  <img src="https://api.star-history.com/svg?repos=lartpang/PySODMetrics&type=Date" alt="Star History Chart" width="600" height="auto">
</div>

## Introduction

A simple and efficient implementation of SOD metrics.

- Based on `numpy` and `scipy`
- Verification based on Fan's matlab code <https://github.com/DengPingFan/CODToolbox>
- The code structure is simple and easy to extend
- The code is lightweight and fast

Your improvements and suggestions are welcome.

### Related Projects

- [PySODEvalToolkit](https://github.com/lartpang/PySODEvalToolkit): A Python-based Evaluation Toolbox for Salient Object Detection and Camouflaged Object Detection

### Supported Metrics

| Metric                                    | Sample-based                                | Whole-based              | Related Class                         |
| ----------------------------------------- | ------------------------------------------- | ------------------------ | ------------------------------------- |
| MAE                                       | soft,si-soft                                |                          | `MAE`                                 |
| S-measure $S_{m}$                         | soft                                        |                          | `Smeasure`                            |
| weighted F-measure ($F^{\omega}_{\beta}$) | soft                                        |                          | `WeightedFmeasure`                    |
| Multi-Scale IoU                           | max,avg,adp,bin                             |                          | `MSIoU`                               |
| E-measure ($E_{m}$)                       | max,avg,adp                                 |                          | `Emeasure`                            |
| F-measure (old) ($F_{beta}$)              | max,avg,adp                                 |                          | `Fmeasure` (Will be removed!)         |
| F-measure (new) ($F_{beta}$, $F_{1}$)     | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`FmeasureHandler`        |
| BER                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`BERHandler`             |
| Dice                                      | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`DICEHandler`            |
| FPR                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`FPRHandler`             |
| IoU                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`IOUHandler`             |
| Kappa                                     | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`KappaHandler`           |
| Overall Accuracy                          | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`OverallAccuracyHandler` |
| Precision                                 | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`PrecisionHandler`       |
| Recall                                    | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`RecallHandler`          |
| Sensitivity                               | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`SensitivityHandler`     |
| Specificity                               | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`SpecificityHandler`     |
| TNR                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`TNRHandler`             |
| TPR                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`TPRHandler`             |

**NOTE**:
- Sample-based `si-` variants calculate the sample-specific mean/maximum based on the sample-based fm sequence with a shape of `(num_targets, 256)`.
- Whole-based `si-` variants calculate the mean/maximum based on the average fm sequence across all targets from all samples.
- Because the `*adp` variants are specialized for `sample-based` computation, they do not support whole-based computation.

## Usage

The core files are in the folder `py_sod_metrics`.

- **[Latest, but may be unstable]** Install from the source code: `pip install git+https://github.com/lartpang/PySODMetrics.git`
- **[More stable]** Install from PyPI: `pip install pysodmetrics`

### Examples

- [examples/test_metrics.py](./examples/test_metrics.py)
- [examples/metric_recorder.py](./examples/metric_recorder.py)

## Reference

- [Matlab Code](https://github.com/DengPingFan/CODToolbox) by DengPingFan(<https://github.com/DengPingFan>): In our comparison (the test code can be seen under the `test` folder), the result is consistent with the code.
  - The matlab code needs to change `Bi_sal(sal>threshold)=1;` to `Bi_sal(sal>=threshold)=1;` in <https://github.com/DengPingFan/CODToolbox/blob/910358910c7824a4237b0ea689ac9d19d1958d11/Onekey_Evaluation_Code/OnekeyEvaluationCode/main.m#L102>. For related discussion, please see [the issue](https://github.com/DengPingFan/CODToolbox/issues/1).
  - 2021-12-20 (version `1.3.0`): Due to the difference between numpy and matlab, in version `1.2.x`, there are very slight differences on some metrics between the results of the matlab code and ours. The [recent PR](https://github.com/lartpang/PySODMetrics/pull/3) alleviated this problem. However, there are still very small differences on E-measure. The results in most papers are rounded off to three or four significant figures, so, there is no obvious difference between the new version and the version `1.2.x` for them.
- <https://en.wikipedia.org/wiki/Precision_and_recall>

```text
@inproceedings{Fmeasure,
    title={Frequency-tuned salient region detection},
    author={Achanta, Radhakrishna and Hemami, Sheila and Estrada, Francisco and S{\"u}sstrunk, Sabine},
    booktitle=CVPR,
    number={CONF},
    pages={1597--1604},
    year={2009}
}

@inproceedings{MAE,
    title={Saliency filters: Contrast based filtering for salient region detection},
    author={Perazzi, Federico and Kr{\"a}henb{\"u}hl, Philipp and Pritch, Yael and Hornung, Alexander},
    booktitle=CVPR,
    pages={733--740},
    year={2012}
}

@inproceedings{Smeasure,
    title={Structure-measure: A new way to evaluate foreground maps},
    author={Fan, Deng-Ping and Cheng, Ming-Ming and Liu, Yun and Li, Tao and Borji, Ali},
    booktitle=ICCV,
    pages={4548--4557},
    year={2017}
}

@inproceedings{Emeasure,
    title="Enhanced-alignment Measure for Binary Foreground Map Evaluation",
    author="Deng-Ping {Fan} and Cheng {Gong} and Yang {Cao} and Bo {Ren} and Ming-Ming {Cheng} and Ali {Borji}",
    booktitle=IJCAI,
    pages="698--704",
    year={2018}
}

@inproceedings{wFmeasure,
  title={How to evaluate foreground maps?},
  author={Margolin, Ran and Zelnik-Manor, Lihi and Tal, Ayellet},
  booktitle=CVPR,
  pages={248--255},
  year={2014}
}

@inproceedings{MSIoU,
    title = {Multiscale IOU: A Metric for Evaluation of Salient Object Detection with Fine Structures},
    author = {Ahmadzadeh, Azim and Kempton, Dustin J. and Chen, Yang and Angryk, Rafal A.},
    booktitle = ICIP,
    year = {2021},
}

@inproceedings{SizeInvarianceVariants,
  title = {Size-invariance Matters: Rethinking Metrics and Losses for Imbalanced Multi-object Salient Object Detection},
  author = {Feiran Li and Qianqian Xu and Shilong Bao and Zhiyong Yang and Runmin Cong and Xiaochun Cao and Qingming Huang},
  booktitle = ICML,
  year = {2024}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pysodmetrics",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "lartpang <lartpang@gmail.com>",
    "keywords": "salient object detection, camouflaged object detection, medical image segmentation, saliency detection, metric, deep learning",
    "author": null,
    "author_email": "lartpang <lartpang@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c1/74/281d291a3eb1c94eb1b2216b895aa4fe19fabc49d42fbc78b1ca96d70a41/pysodmetrics-1.5.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"https://github.com/lartpang/PySODMetrics/blob/main/images/logo.png?raw=true\" alt=\"Logo\" width=\"320\" height=\"auto\">\n  </br>\n  <h2>PySODMetrics: A simple and efficient implementation of SOD metrics</h2>\n  <a href=\"./readme_zh.md\"><img src=\"https://img.shields.io/badge/README-%E4%B8%AD%E6%96%87-blue\"></a>\n  <img src=\"https://img.shields.io/pypi/v/pysodmetrics\">\n  <img src=\"https://img.shields.io/pypi/dm/pysodmetrics?label=pypi%20downloads&logo=PyPI&logoColor=white\">\n  <img src=\"https://img.shields.io/github/last-commit/lartpang/PySODMetrics\">\n  <img src=\"https://img.shields.io/github/last-commit/lartpang/PySODMetrics\">\n  <img src=\"https://img.shields.io/github/release-date/lartpang/PySODMetrics\">\n  <img src=\"https://api.star-history.com/svg?repos=lartpang/PySODMetrics&type=Date\" alt=\"Star History Chart\" width=\"600\" height=\"auto\">\n</div>\n\n## Introduction\n\nA simple and efficient implementation of SOD metrics.\n\n- Based on `numpy` and `scipy`\n- Verification based on Fan's matlab code <https://github.com/DengPingFan/CODToolbox>\n- The code structure is simple and easy to extend\n- The code is lightweight and fast\n\nYour improvements and suggestions are welcome.\n\n### Related Projects\n\n- [PySODEvalToolkit](https://github.com/lartpang/PySODEvalToolkit): A Python-based Evaluation Toolbox for Salient Object Detection and Camouflaged Object Detection\n\n### Supported Metrics\n\n| Metric                                    | Sample-based                                | Whole-based              | Related Class                         |\n| ----------------------------------------- | ------------------------------------------- | ------------------------ | ------------------------------------- |\n| MAE                                       | soft,si-soft                                |                          | `MAE`                                 |\n| S-measure $S_{m}$                         | soft                                        |                          | `Smeasure`                            |\n| weighted F-measure ($F^{\\omega}_{\\beta}$) | soft                                        |                          | `WeightedFmeasure`                    |\n| Multi-Scale IoU                           | max,avg,adp,bin                             |                          | `MSIoU`                               |\n| E-measure ($E_{m}$)                       | max,avg,adp                                 |                          | `Emeasure`                            |\n| F-measure (old) ($F_{beta}$)              | max,avg,adp                                 |                          | `Fmeasure` (Will be removed!)         |\n| F-measure (new) ($F_{beta}$, $F_{1}$)     | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`FmeasureHandler`        |\n| BER                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`BERHandler`             |\n| Dice                                      | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`DICEHandler`            |\n| FPR                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`FPRHandler`             |\n| IoU                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`IOUHandler`             |\n| Kappa                                     | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`KappaHandler`           |\n| Overall Accuracy                          | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`OverallAccuracyHandler` |\n| Precision                                 | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`PrecisionHandler`       |\n| Recall                                    | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`RecallHandler`          |\n| Sensitivity                               | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`SensitivityHandler`     |\n| Specificity                               | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`SpecificityHandler`     |\n| TNR                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`TNRHandler`             |\n| TPR                                       | max,avg,adp,bin,si-max,si-avg,si-adp,si-bin | bin,si-max,si-avg,si-bin | `FmeasureV2`+`TPRHandler`             |\n\n**NOTE**:\n- Sample-based `si-` variants calculate the sample-specific mean/maximum based on the sample-based fm sequence with a shape of `(num_targets, 256)`.\n- Whole-based `si-` variants calculate the mean/maximum based on the average fm sequence across all targets from all samples.\n- Because the `*adp` variants are specialized for `sample-based` computation, they do not support whole-based computation.\n\n## Usage\n\nThe core files are in the folder `py_sod_metrics`.\n\n- **[Latest, but may be unstable]** Install from the source code: `pip install git+https://github.com/lartpang/PySODMetrics.git`\n- **[More stable]** Install from PyPI: `pip install pysodmetrics`\n\n### Examples\n\n- [examples/test_metrics.py](./examples/test_metrics.py)\n- [examples/metric_recorder.py](./examples/metric_recorder.py)\n\n## Reference\n\n- [Matlab Code](https://github.com/DengPingFan/CODToolbox) by DengPingFan(<https://github.com/DengPingFan>): In our comparison (the test code can be seen under the `test` folder), the result is consistent with the code.\n  - The matlab code needs to change `Bi_sal(sal>threshold)=1;` to `Bi_sal(sal>=threshold)=1;` in <https://github.com/DengPingFan/CODToolbox/blob/910358910c7824a4237b0ea689ac9d19d1958d11/Onekey_Evaluation_Code/OnekeyEvaluationCode/main.m#L102>. For related discussion, please see [the issue](https://github.com/DengPingFan/CODToolbox/issues/1).\n  - 2021-12-20 (version `1.3.0`): Due to the difference between numpy and matlab, in version `1.2.x`, there are very slight differences on some metrics between the results of the matlab code and ours. The [recent PR](https://github.com/lartpang/PySODMetrics/pull/3) alleviated this problem. However, there are still very small differences on E-measure. The results in most papers are rounded off to three or four significant figures, so, there is no obvious difference between the new version and the version `1.2.x` for them.\n- <https://en.wikipedia.org/wiki/Precision_and_recall>\n\n```text\n@inproceedings{Fmeasure,\n    title={Frequency-tuned salient region detection},\n    author={Achanta, Radhakrishna and Hemami, Sheila and Estrada, Francisco and S{\\\"u}sstrunk, Sabine},\n    booktitle=CVPR,\n    number={CONF},\n    pages={1597--1604},\n    year={2009}\n}\n\n@inproceedings{MAE,\n    title={Saliency filters: Contrast based filtering for salient region detection},\n    author={Perazzi, Federico and Kr{\\\"a}henb{\\\"u}hl, Philipp and Pritch, Yael and Hornung, Alexander},\n    booktitle=CVPR,\n    pages={733--740},\n    year={2012}\n}\n\n@inproceedings{Smeasure,\n    title={Structure-measure: A new way to evaluate foreground maps},\n    author={Fan, Deng-Ping and Cheng, Ming-Ming and Liu, Yun and Li, Tao and Borji, Ali},\n    booktitle=ICCV,\n    pages={4548--4557},\n    year={2017}\n}\n\n@inproceedings{Emeasure,\n    title=\"Enhanced-alignment Measure for Binary Foreground Map Evaluation\",\n    author=\"Deng-Ping {Fan} and Cheng {Gong} and Yang {Cao} and Bo {Ren} and Ming-Ming {Cheng} and Ali {Borji}\",\n    booktitle=IJCAI,\n    pages=\"698--704\",\n    year={2018}\n}\n\n@inproceedings{wFmeasure,\n  title={How to evaluate foreground maps?},\n  author={Margolin, Ran and Zelnik-Manor, Lihi and Tal, Ayellet},\n  booktitle=CVPR,\n  pages={248--255},\n  year={2014}\n}\n\n@inproceedings{MSIoU,\n    title = {Multiscale IOU: A Metric for Evaluation of Salient Object Detection with Fine Structures},\n    author = {Ahmadzadeh, Azim and Kempton, Dustin J. and Chen, Yang and Angryk, Rafal A.},\n    booktitle = ICIP,\n    year = {2021},\n}\n\n@inproceedings{SizeInvarianceVariants,\n  title = {Size-invariance Matters: Rethinking Metrics and Losses for Imbalanced Multi-object Salient Object Detection},\n  author = {Feiran Li and Qianqian Xu and Shilong Bao and Zhiyong Yang and Runmin Cong and Xiaochun Cao and Qingming Huang},\n  booktitle = ICML,\n  year = {2024}\n}\n```\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2020 lartpang\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ",
    "summary": "A simple and efficient metric implementation for grayscale/binary image segmentation like salient object detection, camouflaged object detection, and medical image segmentation.",
    "version": "1.5.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/lartpang/PySODMetrics/issues",
        "Changelog": "https://github.com/lartpang/PySODMetrics/blob/master/CHANGELOG.md",
        "Documentation": "https://github.com/lartpang/PySODMetrics",
        "Homepage": "https://github.com/lartpang/PySODMetrics",
        "Repository": "https://github.com/lartpang/PySODMetrics.git"
    },
    "split_keywords": [
        "salient object detection",
        " camouflaged object detection",
        " medical image segmentation",
        " saliency detection",
        " metric",
        " deep learning"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e06181c35616fcd2f24df4618cc0841fe22e0c4c8717b8b4e7044dbf8e3843f2",
                "md5": "7f97546d42c3a9f6679f8be68617d43b",
                "sha256": "68199356b6441956f335dc2e622ecc649bb79d45f3c5232be892ef85200a1bde"
            },
            "downloads": -1,
            "filename": "pysodmetrics-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7f97546d42c3a9f6679f8be68617d43b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 22283,
            "upload_time": "2025-08-09T03:41:32",
            "upload_time_iso_8601": "2025-08-09T03:41:32.108144Z",
            "url": "https://files.pythonhosted.org/packages/e0/61/81c35616fcd2f24df4618cc0841fe22e0c4c8717b8b4e7044dbf8e3843f2/pysodmetrics-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c174281d291a3eb1c94eb1b2216b895aa4fe19fabc49d42fbc78b1ca96d70a41",
                "md5": "0c493b55bac3c0e6daf5f954b634bdc7",
                "sha256": "60fda919299529cfb32df054dd4708335f72f60836d72821deda0c1c7c6e1903"
            },
            "downloads": -1,
            "filename": "pysodmetrics-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0c493b55bac3c0e6daf5f954b634bdc7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 22143,
            "upload_time": "2025-08-09T03:41:33",
            "upload_time_iso_8601": "2025-08-09T03:41:33.480434Z",
            "url": "https://files.pythonhosted.org/packages/c1/74/281d291a3eb1c94eb1b2216b895aa4fe19fabc49d42fbc78b1ca96d70a41/pysodmetrics-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-09 03:41:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lartpang",
    "github_project": "PySODMetrics",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    "<",
                    "2.0"
                ],
                [
                    ">=",
                    "1.18"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "<",
                    "2.0"
                ],
                [
                    ">=",
                    "1.5"
                ]
            ]
        },
        {
            "name": "scikit-image",
            "specs": [
                [
                    "<",
                    "0.25"
                ],
                [
                    ">=",
                    "0.19"
                ]
            ]
        }
    ],
    "lcname": "pysodmetrics"
}
        
Elapsed time: 0.49761s