libSGM


NamelibSGM JSON
Version 0.5.0 PyPI version JSON
download
home_pagehttps://github.com/CNES/Pandora_libsgm
SummarylibSGM is a CNES version of H.Hirschmuller Semi-Global Matching
upload_time2024-11-22 11:02:21
maintainerNone
docs_urlNone
authorCNES
requires_python>=3.8
licenseApache License 2.0
keywords matching pandora photogrammetry correlation dic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h4 align="center">LibSGM: Semi-Global Matching algorithm library </h4>

<p align="center">
  <a href="https://www.python.org/downloads/release/python-380/"><img src="https://img.shields.io/badge/python-v3.8+-blue.svg"></a>
  <a href="https://github.com/CNES/Pandora_libSGM/actions"><img src="https://github.com/CNES/Pandora_libSGM/actions/workflows/libsgm_ci.yml/badge.svg?branch=master"></a>
  <a href="https://codecov.io/gh/CNES/Pandora_libSGM"> <img src="https://codecov.io/gh/CNES/Pandora_libSGM/branch/master/graph/badge.svg?token=OZCYI843JH"/></a>
  <a href="https://opensource.org/licenses/Apache-2.0/"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a>
</p>

<p align="center">
  <a href="#overview">Overview</a> •
  <a href="#install">Install</a> •
    <a href="#usage">Usage</a> •
  <a href="#related">Related</a> •
  <a href="#references">References</a>
</p>

## Overview

libSGM is an implementation of Semi-Global Matching (SGM) algorithm based on [[Hirschmuller, 2008]](#1.), [[Ernst, Ines & Hirschmüller, 2008]](#2.) and [[Hirschmüller, Buder & Ernst, 2012]](#3.).

The main algorithm is written in C++ and is wrapped with cython to provide a `libSGM` python module.

An experimental less efficient python only module `libsgm_python` is available for study purposes only.

## Install

**libsgm** is available on Pypi and can be installed by:

```bash
pip install libsgm
```

From source in dev mode, clone the public repository then :

```bash
make install 
source venv/bin/activate # Libsgm is installed in virtualenv
```

## Usage

libSGM is a library only and must be used as a package :

```python
import c_libsgm
...
cost_volumes_out = c_libsgm.sgm_api(cost_volume_in, p1, p2, directions, invalid_value, segmentation=optimization_layer, cost_paths=False, overcounting=False)
```

Let's see [pandora_plugin_LibSGM](https://github.com/CNES/pandora_plugin_libsgm) for real life exemple.

## Documentation

To build library documentation, `doxygen` must be installed on your system.
After installation from source, dependencies are installed in the virtualenv.
Documentation can be generated by:

```bash
source venv/bin/activate
make docs
```

## Related

[Pandora](https://github.com/CNES/Pandora) - A stereo matching framework  
[Plugin_LibSGM](https://github.com/CNES/pandora_plugin_libsgm) - Stereo Matching Algorithm plugin for Pandora  

## References

Please cite the following paper when using libsgm:
*Cournet, M., Sarrazin, E., Dumas, L., Michel, J., Guinet, J., Youssefi, D., Defonte, V., Fardet, Q., 2020. Ground-truth generation and disparity estimation for optical satellite imagery. ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences.*

<a id="1.">[Hirschmuller, 2008]</a>
*H. Hirschmuller, "Stereo Processing by Semiglobal Matching and Mutual Information," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30, no. 2, pp. 328-341, Feb. 2008. doi: 10.1109/TPAMI.2007.1166*

<a id="2.">[Ernst, Ines & Hirschmüller, 2008]</a>
*Ernst, Ines & Hirschmüller, Heiko. (2008). Mutual Information Based Semi-Global Stereo Matching on the GPU. Proceedings of the International Symposium on Visual Computing. 5358. 10.1007/978-3-540-89639-5_22.*

<a id="3.">[Hirschmüller, Buder & Ernst, 2012]</a>
*Hirschmüller, Heiko & Buder, Maximilian & Ernst, Ines. (2012). Memory Efficient Semi-Global Matching. ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences. I-3. 10.5194/isprsannals-I-3-371-2012.*

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/CNES/Pandora_libsgm",
    "name": "libSGM",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "matching, pandora, photogrammetry, correlation, DIC",
    "author": "CNES",
    "author_email": "pandora@cnes.fr",
    "download_url": "https://files.pythonhosted.org/packages/65/13/1eb5651071c10f85accb400ab40728c45c63b2ec6040e7721bf82d9ea9c1/libsgm-0.5.0.tar.gz",
    "platform": "any",
    "description": "<h4 align=\"center\">LibSGM: Semi-Global Matching algorithm library </h4>\n\n<p align=\"center\">\n  <a href=\"https://www.python.org/downloads/release/python-380/\"><img src=\"https://img.shields.io/badge/python-v3.8+-blue.svg\"></a>\n  <a href=\"https://github.com/CNES/Pandora_libSGM/actions\"><img src=\"https://github.com/CNES/Pandora_libSGM/actions/workflows/libsgm_ci.yml/badge.svg?branch=master\"></a>\n  <a href=\"https://codecov.io/gh/CNES/Pandora_libSGM\"> <img src=\"https://codecov.io/gh/CNES/Pandora_libSGM/branch/master/graph/badge.svg?token=OZCYI843JH\"/></a>\n  <a href=\"https://opensource.org/licenses/Apache-2.0/\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#overview\">Overview</a> \u2022\n  <a href=\"#install\">Install</a> \u2022\n    <a href=\"#usage\">Usage</a> \u2022\n  <a href=\"#related\">Related</a> \u2022\n  <a href=\"#references\">References</a>\n</p>\n\n## Overview\n\nlibSGM is an implementation of Semi-Global Matching (SGM) algorithm based on [[Hirschmuller, 2008]](#1.), [[Ernst, Ines & Hirschm\u00fcller, 2008]](#2.) and [[Hirschm\u00fcller, Buder & Ernst, 2012]](#3.).\n\nThe main algorithm is written in C++ and is wrapped with cython to provide a `libSGM` python module.\n\nAn experimental less efficient python only module `libsgm_python` is available for study purposes only.\n\n## Install\n\n**libsgm** is available on Pypi and can be installed by:\n\n```bash\npip install libsgm\n```\n\nFrom source in dev mode, clone the public repository then :\n\n```bash\nmake install \nsource venv/bin/activate # Libsgm is installed in virtualenv\n```\n\n## Usage\n\nlibSGM is a library only and must be used as a package :\n\n```python\nimport c_libsgm\n...\ncost_volumes_out = c_libsgm.sgm_api(cost_volume_in, p1, p2, directions, invalid_value, segmentation=optimization_layer, cost_paths=False, overcounting=False)\n```\n\nLet's see [pandora_plugin_LibSGM](https://github.com/CNES/pandora_plugin_libsgm) for real life exemple.\n\n## Documentation\n\nTo build library documentation, `doxygen` must be installed on your system.\nAfter installation from source, dependencies are installed in the virtualenv.\nDocumentation can be generated by:\n\n```bash\nsource venv/bin/activate\nmake docs\n```\n\n## Related\n\n[Pandora](https://github.com/CNES/Pandora) - A stereo matching framework  \n[Plugin_LibSGM](https://github.com/CNES/pandora_plugin_libsgm) - Stereo Matching Algorithm plugin for Pandora  \n\n## References\n\nPlease cite the following paper when using libsgm:\n*Cournet, M., Sarrazin, E., Dumas, L., Michel, J., Guinet, J., Youssefi, D., Defonte, V., Fardet, Q., 2020. Ground-truth generation and disparity estimation for optical satellite imagery. ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences.*\n\n<a id=\"1.\">[Hirschmuller, 2008]</a>\n*H. Hirschmuller, \"Stereo Processing by Semiglobal Matching and Mutual Information,\" in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30, no. 2, pp. 328-341, Feb. 2008. doi: 10.1109/TPAMI.2007.1166*\n\n<a id=\"2.\">[Ernst, Ines & Hirschm\u00fcller, 2008]</a>\n*Ernst, Ines & Hirschm\u00fcller, Heiko. (2008). Mutual Information Based Semi-Global Stereo Matching on the GPU. Proceedings of the International Symposium on Visual Computing. 5358. 10.1007/978-3-540-89639-5_22.*\n\n<a id=\"3.\">[Hirschm\u00fcller, Buder & Ernst, 2012]</a>\n*Hirschm\u00fcller, Heiko & Buder, Maximilian & Ernst, Ines. (2012). Memory Efficient Semi-Global Matching. ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences. I-3. 10.5194/isprsannals-I-3-371-2012.*\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "libSGM is a CNES version of H.Hirschmuller Semi-Global Matching",
    "version": "0.5.0",
    "project_urls": {
        "Homepage": "https://github.com/CNES/Pandora_libsgm"
    },
    "split_keywords": [
        "matching",
        " pandora",
        " photogrammetry",
        " correlation",
        " dic"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "65131eb5651071c10f85accb400ab40728c45c63b2ec6040e7721bf82d9ea9c1",
                "md5": "c8fa1addc0cc78b078a43c454c7ddb71",
                "sha256": "cb3d0abcafa14011df3eda3f18778afb6fd645218916e8e364d630c7bdfe6a32"
            },
            "downloads": -1,
            "filename": "libsgm-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c8fa1addc0cc78b078a43c454c7ddb71",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 358222,
            "upload_time": "2024-11-22T11:02:21",
            "upload_time_iso_8601": "2024-11-22T11:02:21.889329Z",
            "url": "https://files.pythonhosted.org/packages/65/13/1eb5651071c10f85accb400ab40728c45c63b2ec6040e7721bf82d9ea9c1/libsgm-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-22 11:02:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CNES",
    "github_project": "Pandora_libsgm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "libsgm"
}
        
Elapsed time: 0.35832s