DGAP - Bundle Adjustment


The program DGAP implement the photogrammetric method of bundle adjustment invented by Helmut Schmid and Duane Brown. Based on the central perspective the geometric relationship between  the image and the object are determined by the least squares method.


  • Camera-/self-/simultan calibration with additional parameters suggested by Brown, Ebner and Gruen.
  • Alternative imaging models: Direct linear Transformation (DLT) and affine transformation.
  • Integration of direct measured position and/or attitude data (GPS-supported aerial triangulation, direct georeferencing).
  • Computation of the interior and the exterior geometric accuracy.
  • Test of significance for additional parameters.
  • Computation of covariances (new) and correlations.
  • New: Extended photogrammetric model for frame camera imagery.
  • New: Direct georeferencing of line scanner imagery.
  • New: Examples for aerial triangulation (AT), GPS-supported AT and direct georeferencing.
  • New: Example for direct georeferencing of ADS-40 line scanner imagery.


Copyright (C) 2005 Dirk Stallmann

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.



     Release 2.2.0
     Release 2.1.0
     Release 2.0.0
     Release 1.5.0
     Example Data


The genlib2 library provides miscellaneous subroutines and template classes.

Optionally the LAPACK and BLAS libraries can be used. LAPACK is a library of Fortran 77 subroutines for solving the most commonly occurring problems in numerical linear algebra. It depends on the Basic Linear Algebra Subprograms BLAS. BLAS is a library of Fortran 77 subroutines that provides optimized vector and matrix operations. Both libraries are freely-available software, and are copyrighted.

LAPACK and BLAS are available on netlib:

In order to compile DGAP under MS Windows 2000/XP, you can use Cygnus's GNU-win32 development kit "Cygwin" (, version 1.3.6 or above. The LAPACK/BLAS libraries are also available under Cygwin.


Compiling on UNIX or Cygwin

1. Unpack the archives in the same directory:

tar xzf genlib2-$RELEASE.tar.gz
tar xzf dgap-$RELEASE.tar.gz

2. Compile the genlib2 library:

cd genlib2-$RELEASE

3. Rename the directory to genlib2 or create a symbolic link:

cd ..
ln -s genlib2-$RELEASE genlib2

4. Compile the DGAP program:

cd ..
cd dgap-$RELEASE

To install DGAP just copy the program dgap from the main directory
to /usr/bin or /usr/local/bin.