Skip to main content

libSGM is a CNES version of H.Hirschmuller Semi-Global Matching

Project description

LibSGM: Semi-Global Matching algorithm library

OverviewInstallUsageRelatedReferences

Overview

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

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:

pip install libsgm

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

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

Usage

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

from libSGM import sgm_wrapper
...
cost_volumes_out = sgm_wrapper.sgm_api(cost_volume_in, p1, p2, directions, invalid_value, segmentation=optimization_layer, cost_paths=False, overcounting=False)

Let's see 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:

source venv/bin/activate
make docs

Related

Pandora - A stereo matching framework
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.

[Hirschmuller, 2008] 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

[Ernst, Ines & Hirschmüller, 2008] 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.

[Hirschmüller, Buder & Ernst, 2012] 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libsgm-0.4.7.tar.gz (488.4 kB view details)

Uploaded Source

File details

Details for the file libsgm-0.4.7.tar.gz.

File metadata

  • Download URL: libsgm-0.4.7.tar.gz
  • Upload date:
  • Size: 488.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for libsgm-0.4.7.tar.gz
Algorithm Hash digest
SHA256 7d8e5168c09143f870f9c881a7d97cf3f2a06a7950b2a562c0f516ebe72c2445
MD5 06ecfd90fa9367a0124378e71e24415e
BLAKE2b-256 5854f96230de8c8db17ed2eaa0f22983acc1a063aeba4a3b6f6cd4b308cd5a87

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page