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 :

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 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.5.0.tar.gz (358.2 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for libsgm-0.5.0.tar.gz
Algorithm Hash digest
SHA256 cb3d0abcafa14011df3eda3f18778afb6fd645218916e8e364d630c7bdfe6a32
MD5 c8fa1addc0cc78b078a43c454c7ddb71
BLAKE2b-256 65131eb5651071c10f85accb400ab40728c45c63b2ec6040e7721bf82d9ea9c1

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