Self-calibrating Photogammetric Software Package - Bundle


Description of Technology

Researchers at the University of Calgary have developed a software package (BundleTM) that performs self-calibrating photogammetric adjustments and terrestrial network adjustments.

Bundle is primarily intended for close-range terrestrial applications where normal the normal matrix may not have a banded structure. Therefore, special procedures for solving the system of normal equations have not been implemented (i.e., the normal matrix is not re-ordered to reduce the computational load when it is inverted).

Bundle has a number of powerful and flexible options that should satisfy most users, including:

  • Self-calibration: Supported interiror orientation parameters including focal length, principal point offset, radial lens distortion (k1, k2, k3), tangential distortion (p1, p2), and affinity and shear.
  • Incorporation of terrestrial network observations: Supported additional observations include 3D distances including distances between exposure stations, zenith angles, horizontal angles and azimuths.
  • Weighted parameter observations: Useful when estimates of parameters are known, i.e., when GPS or INS is used to determine exposure station position. Supported parameter observations include exposure station position, exposure station orientation, camera interior orientation and weighted control point co-ordinates.
  • Relative orientation constraint observations: Useful in stereovision systems where the orientation of one camera is known relative to another camera.
  • Automatic generation of approximates: Use of DLT to generate exterior orientation approximates when six or more control points are visible in an image, space intersection to generate tie point approximates, inner constraints, constraints applied to exposure station positions or control point coordinates and automatic ellimination of constraints as datum defects are eliminated by additional information.
  • Residual calculation and goodness-of-fit test.
  • Input options: Single or multiple input text files, automatic rejection of invalid observations, full input error reporting, use of omega/phi/kappa rotation angles, or roll/pitch/yaw angles and use of additional body to camera rotation matrices (for integration in other systems).
  • Output options: Text and HTML output files.
Areas of Application
  • GPS assisted aerial triangulation
  • Integrated sensor orientation for airborne mapping systems
  • Georeferencing of multi sensor and mobile mapping systems
  • Calibration of cameras
  • Adjustment of terrestrial networks
Competitive Advantages
  • Bundle is primarily intended for system developers requiring BundleTM adjustment source code.
  • Bundle is available as either a standalone console or Windows application - educational discounts for both the source code and executables are available.
  • Bundle has been programmed in C/C++ using Microsoft Visual C++. Compilation using other environments has not been tested and is not supported, however, neither compiler nor platform specific code has been used and porting to other compliers should not be difficult. The code has extensive internal documentation (including details of the algorithms) and object-oriented techniques have been used. 
  • Standard Template Library (STL) has been widely used.
  • Code has three primary modules: Bundle Adjustment engine, text input, and text and HTML output.
  • Input and output modules are completely separate from the Bundle adjustment algorithms and code - allowing purchasers of the software to easily incorporate a Bundle adjustment into their own graphical user interface (GUI).