Difference between revisions of "Hugin"

From PanoTools.org Wiki
Jump to navigation Jump to search
(86 intermediate revisions by 15 users not shown)
Line 1: Line 1:
'''Hugin''' {{Glossary|is an opensource graphical user interface (GUI) for [[Panorama tools]]|1}}.
+
'''Hugin''' {{Glossary|is an Open Source panorama stitcher and graphical user interface (GUI) for [[Panorama tools]]|1}}. It also provides a number of additional components and command line 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:
+
== About Hugin ==
  
* [[autopano-sift]], [[autopano-sift-C]] or [[autopano]] for automatic creation of [[control points]].
+
Although Hugin is essentially a panorama stitcher, like other [[GUI front-ends]] it has a range of advanced features:
* [[nona]] or [[PTmender]] for remapping input images and rendering output images.
 
* [[enblend]] for seamless blending of output images.
 
  
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]].
+
Among the Hugin workflow options, it is possible to correct [[Exposure correction|exposure]], [[Vignetting]] and [[White balance]] between photos; generate [[HDR]], [[w:Exposure Fusion|exposure fused]] or [[w:Focus stacking|focus stacked]] output from [[bracketing|bracketed]] photos; or use [[16bit]] and [[HDR]] input data natively.
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]].
+
Photos can be digital or scanned, and taken with any kind of camera. A full range of lenses are supported, from simple cameraphones to obscure [[fisheye]] lenses.  Hugin supports various output [[projections]] including a range of spherical, cartographic, and camera projections.
  
== Hugin components ==
+
Hugin supports panoramas taken with multiple rows of photos, with or without bracketing.  Bracketed photos can be handheld, taken using a DSLR bracketing function, or as consecutive panoramas shot at different EV exposure levels.  Hugin can produce successful panoramas shot with cameras that always shoot using auto-exposure and auto-whitebalance.
 +
 
 +
hugin also supports the use of masks which means that you can exclude parts of images you don't want to appear in your panoramas, or include parts of image you specifically want to appear in your panoramas.
  
The following tools are part of the hugin suite:
+
Hugin also uses a separate (background) panorama stitcher. This means that you can render a panorama in the PTBatcherGUI stich window, while working on the next panorama in hugin.
  
* [[hugin]] the gui front end.
+
Starting with version 2011.2.0, Hugin is scriptable in Python.  The scripting functionality is still in its infancy and requires more development and testing. For now it is available only in Linux and Windows, and currently there is no feedback from the plugin apart from it's success or failure, which is communicated in a dialog. If you're on Linux, you can start hugin from the command line and switch to the window you started it from while the plugin is running - then you'll see any console output it may produce.
* [[nona]] a command-line replacement for [[PTStitcher]].
 
* [[fulla]] correction of [[barrel distortion]], [[chromatic aberration]] and [[vignetting]].
 
* [[nona_gui]] a version of [[nona]] with simple gui progress dialogs, similar to the windows version of [[PTStitcher]].
 
* [[autooptimiser]] an experimental tool with the same interface as [[PTOptimizer]] except using pairwize optimization which doesn't require any manual pre-placement.
 
* [[align_image_stack]] a tool to automate the process to [[align a stack of photos]].
 
* [[vig_optimize]] command line tool to estimate photometric parameters.
 
* [[panoglview]] OpenGL panorama viewer stored in sourceforge CVS alongside [[hugin]] which must be built separately.
 
* [[hugin_hdrmerge]] merges multiple exposures to [[HDR]] using Khan anti-ghosting algorithm
 
* [[hugin_stitch_project]] batch stitches a hugin project, performing any [[HDR]] merging or blending as necessary.
 
  
More information, documentation and tutorials are available on the project website.
+
* [http://hugin.sourceforge.net Hugin homepage] on SourceForge. Screenshots, Tutorials, Documentation and Links.
 +
* [http://sourceforge.net/projects/hugin Hugin project summary page] on SourceForge. Downloads.
 +
* [https://launchpad.net/hugin Hugin on Launchpad]. Bug database and Feature requests.
 +
* [[Hugin FAQ]] Frequently asked questions about Hugin.
  
 
== User interface ==
 
== User interface ==
  
* [[Hugin Main window]]
+
The Hugin version as of version 2013.0.0 (to be released early 2013) consists of three User interfaces: '''Simple''', '''Advanced''' and '''Expert'''.
* [[Hugin Assistant tab]]
+
* '''Simple''': This user interface consists of all basic functionality to create a panorama and will suffice in 90% of all cases.
* [[Hugin Images tab]]
+
* '''Advanced''': This user interface will start Hugin in the Panorama Editor screen; the simple interface is available in the background.
* [[Hugin Camera and Lens tab]]
+
* '''Expert''': This user interface also starts Hugin in the Panorama Editor screen and will unleash all the power and options of Hugin.
* [[Hugin Crop tab]]
 
* [[Hugin Control Points tab]]
 
* [[Hugin Optimizer tab]]
 
* [[Hugin Exposure tab]]
 
* [[Hugin Stitcher tab]]
 
* [[Hugin Preferences]]
 
* [[Hugin Preview window]]
 
* [[Hugin Control Points table]]
 
* [[Hugin Keyboard shortcuts]]
 
 
 
== Development ==
 
  
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.
+
''(Go to [[Hugin Main window old gui| Version 2012 and older Gui]] to read about the "old" gui which is being used in the current stable release. Note that all Hugin 2012 and older versions come with the help screens installed. You can read the same texts as in this wiki by simply opening '''Hugin''' and clicking the "Help" option from the "Help" menu)''
  
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'''
+
=== Simple User Interface ===
* The likelyhood that errors will occur when following the build processes linked below is high.
+
* [[Hugin Main window|Simple User Interface Main window]]
* Don't worry such failure will not compromise your computer.
+
* [[Hugin Assistant tab]]
* 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.
+
* [[Hugin Preview tab]]
 +
* [[Hugin Main window#Layout|Hugin Layout tab]]
 +
* [[Hugin Projection tab]]
 +
* [[Hugin move drag tab|Hugin Move/Drag tab]]
 +
* [[Hugin Crop tab]]
  
== Test Builds ==
+
=== Advanced User Interface ===
 +
* [[Hugin Panorama Editor window|Panorama Editor window]]
 +
** [[Hugin Photos tab|Photos tab]]
 +
** [[Hugin Mask tab|Masks tab]]
 +
** [[Hugin Control Points tab|Control Points tab]]
 +
** [[Hugin Optimiser tab|Optimiser tab]] (only available when selecting '''Geometric''' Custom parameters on the [[Hugin Photos tab|Photos tab]])
 +
** [[Hugin Exposure tab|Exposure tab]] (only available when selecting '''Photometric''' Custom parameters on the [[Hugin Photos tab|Photos tab]])
 +
** [[Hugin Stitcher tab|Stitcher tab]]
 +
The Panorama Editor window "takes" the foreground, but you can still switch to the Simple User interface
 +
which is started as a "background" screen of the [[Hugin Panorama Editor window|Panorama Editor]].
  
=== Goal ===
+
=== Expert User Interface ===
 +
This one is identical to the Advanced User interface, including the Simple User interface screen in the background. It will give you even more options in the form of context-menus (right-click menus) in some parts of the screens.
  
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.
+
== Hugin components ==
  
=== Process ===
+
The following tools are part of the Hugin suite:
  
# 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.
+
* [[Hugin]] the gui front end.
# The build process will be documented for each of the supported platform.
+
* [[nona]] a command-line replacement for [[PTStitcher]].
# Users willing to spend some time learning how to build will reproduce the documented process.
+
* [[fulla]] correction of [[barrel distortion]], [[chromatic aberration]] and [[vignetting]].
# Power users will script and automate the building process.
+
* [[autooptimiser]] a tool with the same interface as [[PTOptimizer]] except using pairwise optimization which doesn't require any manual pre-placement.
# Users with packaging skills will package the builds for distribution (installers).
+
* [[align_image_stack]] a tool to automate the process to [[align a stack of photos]].
# The produced binaries/installers will be made available on the web.
+
* [[tca_correct]] a tool to automatically generate [[chromatic aberration]] correction parameters for use with [[fulla]].
 +
* [[hugin_executor]] a tool for command-line stitching and running the assistant.
 +
* [[pto_gen]] command line tool to generate project file from images
 +
* [[cpfind]] command line tool to find control points
 +
* [[linefind]] command line tool to find vertical features for leveling
 +
* [[geocpset]] command line tool to connect featureless images by "geometric" control points
 +
* [[icpfind]] command line tool for using heuristic control point matching like inside Hugin
 +
* [[cpclean]] command line tool to remove control points with improbable error distances
 +
* [[checkpto]] command line tool to examine project file and reports back the number of image chains present
 +
* [[pto_var]] command line tool to manipulate image variables
 +
* [[pto_lensstack]] command line tool to manipulate lens and stacks
 +
* [[pto_mask]] command line tool to add mask to project file
 +
* [[pto_template]] command line tool to apply template to project file
 +
* [[calibrate_lens_gui]] automatic lens calibration using straight-line detection
 +
* [[vig_optimize]] command line tool to estimate photometric parameters.
 +
* [[hugin_hdrmerge]] merges multiple exposures to [[HDR]] using Khan anti-ghosting algorithm
 +
* [[verdandi]] merges different images to a single image without seams.
 +
* [[hugin_stitch_project]] a GUI tool to stitch a single Hugin .pto project.
 +
* [[celeste_standalone]] removes cloud-like control points from project files.
 +
* [[Hugin Batch Processor|PTBatcherGUI]] a GUI queue manager for stitching multiple Hugin projects.
 +
* [[deghosting_mask]] Creates mask for removing ghosting in bracketed images
 +
* [[pano_modify]] Change output parameters of project file
 +
* [[pano_trafo]] Transform image coordinates
 +
* [[pto_merge]] Merges two or more Hugin project files
 +
* [[pto_move]] Moves Hugin project files with associated images
 +
* [[lensdb]] Maintenance of Hugins camera and lens databasae
 +
* [[panoglview]] OpenGL panorama viewer stored in sourceforge SVN alongside [[hugin]] which must be built separately.
 +
* [[autopano-sift-C]] version of [[autopano-sift]] written in C, also needs to be built separately.
  
=== Specific revisions ===
+
More information, documentation and tutorials are available on the [http://hugin.sourceforge.net/ project website].
  
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.
+
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:
  
hugin:
+
* [[autopano-sift]], [[autopano-sift-C]], [[panomatic]] or [[autopano]] for automatic creation of [[control points]] (note that an external control-point generator is no longer required by Hugin).
 +
* [[enblend]] and [[enfuse]] for seamless blending of output images.
  
{| style="margin: 1em auto 1em auto;background:#FFFFDD;text-align:left;border-top: thin dotted #333333;"
+
The Hugin project also provides open source replacements for the small number of closed source components of [[Panorama tools]], especially [[PTStitcher]].
|-valign="top"
+
A PTStitcher replacement called [[nona]] and a PTOptimizer replacement called [[autooptimiser]] have been developed, supporting their most important features.
! width="100" |
 
Revision
 
! width="500" |
 
Comments
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
2587
 
| style="border-top: thin dotted #333333;" |
 
builds on Windows and ubuntu 7.10 AMD64, was used for a snapshot binary release [http://groups.google.com/group/hugin-ptx/browse_thread/thread/6ccfe896bbcb0469]
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
2571
 
| style="border-top: thin dotted #333333;" |
 
does not build [http://groups.google.com/group/hugin-ptx/browse_thread/thread/208f9c00e3f20fc5]
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
2539
 
| style="border-top: thin dotted #333333;" |
 
[http://groups.google.com/group/hugin-ptx/browse_thread/thread/e67e1d5a6215b951]
 
|-valign="top"
 
|}
 
  
[[older hugin revision notes]]
+
== Development ==
 
 
libpano:
 
 
 
{| style="margin: 1em auto 1em auto;background:#FFFFDD;text-align:left;border-top: thin dotted #333333;"
 
|-valign="top"
 
! width="100" |
 
Revision
 
! width="500" |
 
Comments
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
767
 
| style="border-top: thin dotted #333333;" |
 
does not build [http://groups.google.com/group/hugin-ptx/browse_thread/thread/f69427e3b112bcca]
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
759
 
| style="border-top: thin dotted #333333;" |
 
builds on AMD64 ubuntu 7.10
 
|-valign="top"
 
|}
 
 
 
[[older libpano revision notes]]
 
 
 
enblend:
 
 
 
{| style="margin: 1em auto 1em auto;background:#FFFFDD;text-align:left;border-top: thin dotted #333333;"
 
|-valign="top"
 
! width="100" |
 
Revision
 
! width="500" |
 
Comments
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
2008-01-01
 
| style="border-top: thin dotted #333333;" |
 
builds on AMD64 ubunu 7.10
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
 
 
| style="border-top: thin dotted #333333;" |
 
 
 
|-valign="top"
 
|}
 
 
 
[[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.
 
 
 
 
 
{| style="margin: 1em auto 1em auto;background:#FFFFDD;text-align:left;border-top: thin dotted #333333;"
 
|-valign="top"
 
! width="100" |
 
Platform
 
! width="100" |
 
Status
 
! width="100" |
 
Process
 
! width="200" |
 
Build-Chain Responsible
 
! width="200" |
 
Credits
 
! width="200" |
 
Backup Build-Chains
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
ubuntu 32bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling Ubuntu | OK]]
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" rowspan="2" |
 
* Sébastien Perez-Duarte
 
* Yuval Levy
 
* Régis B.
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
ubuntu 64bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling Ubuntu | OK]]
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
<!-- spanned style="border-top: thin dotted #333333;" | -->
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
Fedora 32bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling Fedora | tbd]]
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" rowspan="2" |
 
* Bruno Postle
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
Fedora 64bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling Fedora | tbd]]
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
<!-- spanned style="border-top: thin dotted #333333;" | -->
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
OSX IntelMac
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling OSX | draft]]
 
| style="border-top: thin dotted #333333;" |
 
Peter A. Crowley
 
| style="border-top: thin dotted #333333;" rowspan="2" |
 
* Ippei Ukai
 
* JD Smith
 
* Daniel M. German
 
* Peter A. Crowley
 
* David Haberthür
 
* John Riley
 
* Roger Howard
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
OSX PPC
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling OSX | draft]]
 
| style="border-top: thin dotted #333333;" |
 
Peter A. Crowley
 
<!-- spanned style="border-top: thin dotted #333333;" | -->
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
Windows 32bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling Windows | draft]]
 
| style="border-top: thin dotted #333333;" |
 
Tom Sharpless
 
| style="border-top: thin dotted #333333;" |
 
* Tom Sharpless
 
* John Navas
 
* Jean-Marc Paratte
 
* Yili Zhao
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
OpenSuse 32bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling OpenSuse | tbd]]
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" rowspan="2" |
 
* Kornel Benko (10.3)
 
* Peter Suetterlin (10.2)
 
* Stephan Hegel (10.3 x86_64)
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
OpenSuse 64bit
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
| style="border-top: thin dotted #333333;" |
 
[[Hugin Compiling OpenSuse | tbd]]
 
| style="border-top: thin dotted #333333;" |
 
tbd
 
<!-- spanned style="border-top: thin dotted #333333;" | -->
 
| style="border-top: thin dotted #333333;" |
 
|-valign="top"
 
! style="border-top: thin dotted #333333;" |
 
all platforms
 
! style="border-top: thin dotted #333333;" colspan="5" |
 
a big thank you to '''Pablo d'Angelo''' for supporting all of those building efforts.
 
|-valign="top"
 
|}
 
 
 
=== Stati ===
 
 
 
'''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
 
 
 
'''Process'''
 
* 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
 
 
 
=== Feedback ===
 
 
 
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.
 
# details about your computer. CPU, operating system, other particularities
 
# 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.
 
# the last step / command you entered into the command line
 
# 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.
 
 
 
=== Publication ===
 
* Release Manager: tbd
 
* Download / Webspace: thank you Thomas Rauscher / panotools.org, links will be published soon
 
  
== See also ==
+
Hugin is Open Source, and like every community-developed software 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. Find more about the [[Development of Open Source tools|development process]].
* [[hugin FAQ]] Frequently asked questions about hugin
 
  
 
== External links ==
 
== External links ==
* [http://hugin.sourceforge.net hugin homepage] for Screenshots, Tutorials, Documentation and Links.
+
* [http://hugin.sourceforge.net Hugin homepage] for Screenshots, Tutorials, Documentation and Links.
* [http://sourceforge.net/projects/hugin hugin sourceforge project] for Downloads, Bug database and Feature requests.
+
* [http://sourceforge.net/projects/hugin Hugin Sourceforge project] for Downloads.
* [http://hugin.svn.sourceforge.net/viewvc/hugin/ sourceforge SVN] to browse the hugin sourcecode.
+
* [https://launchpad.net/hugin Hugin's bug tracker] for bug reports and feature requests.
 +
* [http://hugin.hg.sourceforge.net/hgweb/hugin/ Sourceforge HG] to browse the Hugin source-code in Mercurial.
 
* [http://groups.google.com/group/hugin-ptx hugin-ptx GoogleGroup] to contribute to development and peer support.
 
* [http://groups.google.com/group/hugin-ptx hugin-ptx GoogleGroup] to contribute to development and peer support.
  

Revision as of 12:32, 15 February 2015

Hugin is an Open Source panorama stitcher and graphical user interface (GUI) for Panorama tools. It also provides a number of additional components and command line tools.

About Hugin

Although Hugin is essentially a panorama stitcher, like other GUI front-ends it has a range of advanced features:

Among the Hugin workflow options, it is possible to correct exposure, Vignetting and White balance between photos; generate HDR, exposure fused or focus stacked output from bracketed photos; or use 16bit and HDR input data natively.

Photos can be digital or scanned, and taken with any kind of camera. A full range of lenses are supported, from simple cameraphones to obscure fisheye lenses. Hugin supports various output projections including a range of spherical, cartographic, and camera projections.

Hugin supports panoramas taken with multiple rows of photos, with or without bracketing. Bracketed photos can be handheld, taken using a DSLR bracketing function, or as consecutive panoramas shot at different EV exposure levels. Hugin can produce successful panoramas shot with cameras that always shoot using auto-exposure and auto-whitebalance.

hugin also supports the use of masks which means that you can exclude parts of images you don't want to appear in your panoramas, or include parts of image you specifically want to appear in your panoramas.

Hugin also uses a separate (background) panorama stitcher. This means that you can render a panorama in the PTBatcherGUI stich window, while working on the next panorama in hugin.

Starting with version 2011.2.0, Hugin is scriptable in Python. The scripting functionality is still in its infancy and requires more development and testing. For now it is available only in Linux and Windows, and currently there is no feedback from the plugin apart from it's success or failure, which is communicated in a dialog. If you're on Linux, you can start hugin from the command line and switch to the window you started it from while the plugin is running - then you'll see any console output it may produce.

User interface

The Hugin version as of version 2013.0.0 (to be released early 2013) consists of three User interfaces: Simple, Advanced and Expert.

  • Simple: This user interface consists of all basic functionality to create a panorama and will suffice in 90% of all cases.
  • Advanced: This user interface will start Hugin in the Panorama Editor screen; the simple interface is available in the background.
  • Expert: This user interface also starts Hugin in the Panorama Editor screen and will unleash all the power and options of Hugin.

(Go to Version 2012 and older Gui to read about the "old" gui which is being used in the current stable release. Note that all Hugin 2012 and older versions come with the help screens installed. You can read the same texts as in this wiki by simply opening Hugin and clicking the "Help" option from the "Help" menu)


Simple User Interface

Advanced User Interface

The Panorama Editor window "takes" the foreground, but you can still switch to the Simple User interface which is started as a "background" screen of the Panorama Editor.

Expert User Interface

This one is identical to the Advanced User interface, including the Simple User interface screen in the background. It will give you even more options in the form of context-menus (right-click menus) in some parts of the screens.

Hugin components

The following tools are part of the Hugin suite:

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

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 also provides open source replacements for the small number of closed source components of Panorama tools, especially PTStitcher. A PTStitcher replacement called nona and a PTOptimizer replacement called autooptimiser have been developed, supporting their most important features.

Development

Hugin is Open Source, and like every community-developed software 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. Find more about the development process.

External links

Supported operating systems