libSGM

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


License
Apache-2.0
Install
pip install libSGM==0.4.0

Documentation

libSGM

Semi-Global Matching algorithm.

OverviewInstallUsageRelatedReferences

Overview

C++ implementation of Semi-Global Matching (SGM) algorithm that is wrapped with cython to provide a libsgm python module based on [Hirschmuller, 2008], [Ernst, Ines & Hirschmüller, 2008] and [Hirschmüller, Buder & Ernst, 2012].

Install

libsgm is available on Pypi and can be installed by:

pip install numpy
pip install libsgm

Usage

libSGM 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, False, False)

Let's see pandora_plugin_LibSGM for real life exemple.

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.