skip to navigation
skip to content

sba 1.6.3

wrapper for Lourakis' sparse bundle adjustment C library

Latest Version: 1.6.8

Enjoy! The most recent version can be obtained from bitbucket via:

hg clone ssh://

As prerequisites, you will also need to install the sba library as a shared object ( (Makefile with shared object target included here) and the sba projections library (

See HOWTO.txt for details.

Typical usage

The main way to use this is as follows:

import sba

cameras = sba.Cameras.fromTxt('cams.txt')
points = sba.Points.fromTxt('pts.txt',cameras.ncameras)
newcams, newpts, info = sba.SparseBundleAdjust(cameras,points)

If you wish to alter the default and autodetected options, you can create an Options object and change it, and then pass it to sba:

options = sba.Options.fromInputs(points,cameras)
# can also update options.XXX to appropriate values
newcams,newpts,info = sba.SparseBundleAdjust(cameras,points,options)

Hopefully this is cleaner than the original way to call it in C.


The original sba C library was written by Manolis Lourakis and is described in Lourakis, Manolis I A and Antonis A Argyros (2004), “The design and implementation of a generic sparse bundle adjustment software package based on the Levenberg-Marquardt algorithm”, FOURTH_ICS TR-340.

If using this package in research work, we would appreciate you citing it: D Theriault, N Fuller, B Jackson, E Bluhm, D Evangelista, Z Wu, M Betke, and T Hedrick (2014). A method for accurate multi-camera field videography. J exp Biol 217:1843-1848. The BibTeX entry is:

  author = {Theriault, D and Fuller, N and Jackson, B and Bluhm, E and Evangelista, D and Wu, Z and Betke, M and Hedrick, T},
  title = {A method for accurate multi-camera field videography},
  journal = {J exp Biol},
  year = {2014},
  volume = {217},
  pages = {1843--1848}

Thanks also to

Manolis Lourakis and Antonis Argyros, Ty Hedrick, Evan Bluhm, my mom and the academy

File Type Py Version Uploaded on Size
sba-1.6.3.tar.gz (md5) Source 2014-05-29 33KB