Difference between revisions of "Hugin"

From PanoTools.org Wiki
Jump to: navigation, search
(link to Hugin buttons)
(delete link to defunct Hugin Buttons page)
Line 44: Line 44:
* [[Hugin Control Points table]]
* [[Hugin Control Points table]]
* [[Hugin Keyboard shortcuts]]
* [[Hugin Keyboard shortcuts]]
* [[Hugin Buttons]]
== Development ==
== Development ==

Revision as of 00:12, 10 January 2008

Hugin is an opensource graphical user interface (GUI) for Panorama tools.

Like other GUI front-ends, hugin provides an easy-to-use unified point-and-click interface to a whole range of other command-line tools including:

The Hugin project's mission is not only to provide a powerful GUI, but also to provide opensource replacements for the small number of closed source components of Panorama tools, especially PTStitcher. A PTStitcher replacement, called nona has been developed, supporting its most important features.

Among the many flexible Hugin workflow options, it is possible to use increased tonal range data in a 16bit workflow with hugin or work entirely with high dynamic range images such as floating-point TIFF from start to finish in a HDR workflow with hugin.

Hugin components

The following tools are part of the hugin suite:

More information, documentation and tutorials are available on the project website.

User interface


Hugin is Open Source, and as such very much dependent on voluntary contributions of resources. If you have coding skills, you are welcome to look at the source code and contribute to it. Even if you don't have coding skills, you most likely have some skills that the project could use and you are more than welcome to contribute your time. The tasks requiring attention change frequently and so do the required skillset and resources. Join the hugin-ptx mailing list to find out what is going on at the moment and how you can help.

At the time of writing (29-October-2007) there is a major effort going on to document and automate the building process of hugin so that the project can release binaries more frequently. See Test Builds below.

Don't be afraid of failures in the building process

  • The likelyhood that errors will occur when following the build processes linked below is high.
  • Don't worry such failure will not compromise your computer.
  • The failure of the building process is actually your success! Every time you report such a failure, with as much detail as possible to how it came about, you are contributing to the progress toward a stable release.

If you are fluent in other languages than English, you can help translate Hugin. There's a Hugin translation guide to help you get started or help when you run into translation problems.

Test Builds


an infrastructure for on-demand build and distribution of usable test-binaries for the most popular platforms. These builds are meant to enable users to test the newest features and report bugs. Ideally, on Pablo's demand all those who have a build chain will run it against the newest source code to produce the builds.


  1. Experienced users will build the most current hugin and helpers (libpano, enblend, autopano, etc.) for the target platform of their choice, with support from coders.
  2. The build process will be documented for each of the supported platform.
  3. Users willing to spend some time learning how to build will reproduce the documented process.
  4. Power users will script and automate the building process.
  5. Users with packaging skills will package the builds for distribution (installers).
  6. The produced binaries/installers will be made available on the web.

Specific revisions

When building from the repository, some revisions have bugs. This process is meant to build the latest revision so that if the latest revision has bugs these can be identified and corrected. However sometimes these bugs can be more critical than other times. If you need a more or less working version of hugin, try applying the process to one of the following revisions.





first build in a long time reported to work on some OSX boxes [1]


builds on OpenSuSE 10.3 x86_64 [2]


builds on Windows and ubuntu 7.10 AMD64, was used for a snapshot binary release [3]


does not build [4]



older hugin revision notes





does not build [6]


does not build [7]


builds on AMD64 ubuntu 7.10

older libpano revision notes





builds on AMD64 ubunu 7.10

older enblend revision notes

Supported Platforms

  • If you don't find your preferred platform listed below and you are willing to contribute your time and skills to build hugin on it, feel free to add it to the table. We will accommodate any well supported platform in the regular release process.
  • The Build-Chain Responsibles listed below have access to a build chain on the selected platform and have agreed to run the build chain within 2 days of a request from Pablo. They will forward the resulting binary package to the Release Manager who will in turn put them up for download by the general public.
  • Redundancy is good. If you have access to one of the listed platforms, please try to run the documented process below and report success to hugin-ptx. If you think you could do this on a more regular basis, enter yourself in the Backup Build-Chain field.




Build-Chain Responsible


Backup Build-Chains

ubuntu 32bit




  • Sébastien Perez-Duarte
  • Yuval Levy
  • Régis B.

ubuntu 64bit




Fedora 32bit




  • Bruno Postle

Fedora 64bit




OSX IntelMac



Peter A. Crowley

  • Ippei Ukai
  • JD Smith
  • Daniel M. German
  • Peter A. Crowley
  • David Haberthür
  • John Riley
  • Roger Howard




Peter A. Crowley

Windows 32bit



Tom Sharpless

  • Tom Sharpless
  • John Navas
  • Jean-Marc Paratte
  • Yili Zhao

OpenSuse 32bit




  • Kornel Benko (10.3)
  • Peter Suetterlin (10.2)
  • Stephan Hegel (10.3 x86_64)

OpenSuse 64bit




all platforms

a big thank you to Pablo d'Angelo for supporting all of those building efforts.


Build Chain

  • tbd: looking for responsible
  • OK: mostly automated build process ready on request
  • unavailable: temporarily unavailable (e.g. responsible on holiday)
  • HW-broken: the hardware is temporarily unavailable
  • SW-broken: temporarily dysfunctional, working on a fix
  • broken: nobody is working on a fix
  • unsupported: has been dropped for lack of support


  • tbd: status unknown
  • auto: work as documented and has been automated to a reasonable extent
  • OK: works as documented, could use automation / scripting
  • draft: documented, needs validation / testing / cleaning
  • incomplete: parts are missing (e.g. enblend, libpano)
  • outdated: worked in the past but needs an update
  • obsolete: nobody has the time to update


When running through the building process documented above chances are that something goes wrong. While it is disappointing when the process ends in a flurry of cryptic error messages it is not harmful. This is the nature of software development and you are now part of it. There is still a lot of value in your experience and you can help improve the process and get closer to the hoped for software package. Please don't be ashamed that it did not work. This happens even to the most expert coders. Give the developers feedback on the hugin-ptx mailing list. Only with your feedback they can know that something goes wrong, and a well crafted feedback helps them find out quickly what went wrong and devise a solution. Be a part of the solution, not a part of the problem!

To give good feedback, note down carefully all of this information while you are going through the instructions.

  1. details about your computer. CPU, operating system, other particularities
  2. the revision number of the code checked out with SVN (which appears at the end of the checkout process) or with CVS. Or, if you don't find a revision number, the date and time when you checked out the code.
  3. the last step / command you entered into the command line
  4. a copy of the last few lines displayed, from where you think the error messages started. Don't worry if you copy a couple of lines too many, it is better to give more lines than less lines.

Even the standard feedback is good feedback. For those wishing to dig deeper, you can try

  • to use "make VERBOSE=1" when building hugin.
  • to do a debug build "cmake -DCMAKE_BUILD_TYPE=DEBUG" and use oprofile for profiling.


  • Release Manager: tbd
  • Download / Webspace: thank you Thomas Rauscher / panotools.org, links will be published soon

See also

  • hugin FAQ Frequently asked questions about hugin

External links

Supported operating systems