hugin  2019.2.0
About: Hugin is an cross-platform panoramic imaging toolchain (based on Panorama Tools) that let you assemble a mosaic of photographs into a complete immersive panorama, stitch any series of overlapping pictures and much more.
  Fossies Dox: hugin-2019.2.0.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

hugin source code documentation

Introduction

The code is divided in a platform and toolkit independent (mostly) abstraction of a panorama, PT::Panorama and a wxwindows GUI. For more details see Introduction to Hugin's source code

Building

Hugin builds with Cmake (http://cmake.org/):

  cmake .
  make
  make install

For a more detailed description see corresponding entries in wiki:

The project's directory structure:

  • hugin/
    • src/
      • celeste Contains the code for celeste
      • deghosting Contains the deghosting code
      • dox Contains the parts for generating documentation
      • foreign Contains foreign libs (mostly with modification for hugin)
      • hugin1 Contains all libs and programs which depends on wxWidgets (mainly the GUI programs)
      • hugin_base Contains the base functionality (code in this directory does not depends on wxWidgets and should not link against wxWidgets)
      • hugin_cpfind Contains the code of the control point detector
      • lens_calibrate Contains the lens_calibrate lib and program
      • hugin_script_interface Contains the hugin scripting interface
      • matchpoint Contains the matchpoint program
      • tools Contains most of the command line tools
      • translations Contains the translations

The hugin_base directory contains further sub-directories:

  • hugin_base/algorithms Contains algorithm, which modify the panorama object.
  • hugin_base/appbase
  • hugin_base/hugin_math Contains different math helper functions.
  • hugin_base/huginapp
  • hugin_base/lines Contains the lib for automatic finding straight lines in images
  • hugin_base/makefilelib Contains the makefilelib which allows wrapping of makefile generation for GNU make.
  • hugin_base/nona
  • hugin_base/panodata Contains the main HuginBase::Panorama object and all other base object used by HuginBase::Panorama.
  • hugin_base/panotools Contains wrapper function for libpano.
  • hugin_base/photometric Contains the photometric functions.
  • hugin_base/vigra_ext Contains extension for the vigra image lib.

The hugin1 directory contains the libs and programs which depends on wxWidgets:

  • hugin1/base_wx Contains functions used by different programs/libs.
  • hugin1/calibrate_lens Contains the code for calibrate_lens_gui
  • hugin1/hugin Contains the code for Hugin GUI.
  • hugin1/icpfind Contains the code for the icpfind lib and command line version.
  • hugin1/nona_gui Contains code for nona_gui.
  • hugin1/PT
  • hugin1/ptbatcher Contains the batch processing code (PTBatcher and PTBatcherGUI).
  • hugin1/stitch_project Contains the code for hugin_stitch_project.
  • hugin1/tools_vips

The coding style for Hugin is described at: http://hugin.sourceforge.net/community/coding_style/