Hugin (software)
Hugin is a cross-platform open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

Panoramic photography
Panoramic photography is a technique of photography, using specialized equipment or software, that captures images with elongated fields of view. It is sometimes known as wide format photography. The term has also been applied to a photograph that is cropped to a relatively wide aspect ratio...

 photo stitching
Image stitching
Image stitching or photo stitching is the process of combining multiple photographic images with overlapping fields of view to produce a segmented panorama or high-resolution image. Commonly performed through the use of computer software, most approaches to image stitching require nearly exact...

 and HDR
High dynamic range imaging
In image processing, computer graphics, and photography, high dynamic range imaging is a set of techniques that allows a greater dynamic range between the lightest and darkest areas of an image than current standard digital imaging techniques or photographic methods...

 merging program developed by Pablo d'Angelo and others. It is a GUI
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 front-end for Helmut Dersch's Panorama Tools and Andrew Mihal's Enblend and Enfuse. Stitching is accomplished by using several overlapping photos taken from the same location, and using control points to align and transform the photos so that they can be blended together to form a larger image. Hugin allows for the easy (optionally automatic) creation of control points between two images, optimization of the image transforms along with a preview window so the user can see whether the panorama is acceptable. Once the preview is correct, the panorama can be fully stitched, transformed and saved in a standard image format.


Hugin and the associated tools can be used to
  • combine overlapping images for panoramic photography
  • correct complete panorama images, e.g. those that are "wavy" due to a badly levelled
    Spirit level
    A spirit level or bubble level is an instrument designed to indicate whether a surface ishorizontal or vertical . Different types of spirit levels may be used by carpenters, stonemasons, bricklayers, other building trades workers, surveyors, millwrights and other metalworkers, and in some...

     panoramic camera
  • stitch large mosaics of images and photos, e.g. of long walls or large microscopy
    Microscopy is the technical field of using microscopes to view samples and objects that cannot be seen with the unaided eye...

  • find control points and optimize parameters with the help of software assistants/wizards
  • output several projection
    Map projection
    A map projection is any method of representing the surface of a sphere or other three-dimensional body on a plane. Map projections are necessary for creating maps. All map projections distort the surface in some fashion...

     types, such as equirectangular
    Equirectangular projection
    The equirectangular projection is a very simple map projection attributed to Marinus of Tyre, who Ptolemy claims invented the projection about AD 100...

     (used by many full spherical viewers), mercator
    Mercator projection
    The Mercator projection is a cylindrical map projection presented by the Belgian geographer and cartographer Gerardus Mercator, in 1569. It became the standard map projection for nautical purposes because of its ability to represent lines of constant course, known as rhumb lines or loxodromes, as...

    , cylindrical, stereographic
    Stereographic projection
    The stereographic projection, in geometry, is a particular mapping that projects a sphere onto a plane. The projection is defined on the entire sphere, except at one point — the projection point. Where it is defined, the mapping is smooth and bijective. It is conformal, meaning that it...

    , and sinusoidal
    Sinusoidal projection
    The sinusoidal projection is a pseudocylindrical equal-area map projection, sometimes called the Sanson–Flamsteed or the Mercator equal-area projection. Jean Cossin of Dieppe was one of the first mapmakers to use the sinusoidal, appearing in a world map of 1570...

  • perform advanced photometric corrections and HDR stitching

With the release of 2010.4.0, which includes a built-in control point generator, the developers consider Hugin to be feature-complete.


The Hugin development is tracked on Launchpad
Launchpad (website)
Launchpad is a web application and website that allow users to develop and maintain software, particularly free software. Launchpad is developed and maintained by Canonical Ltd....

 and the code resides in a Mercurial
Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...


Google Summer of Code

Five projects for the development of Hugin / panotools were accepted for the 2007 Google Summer of Code
Google Summer of Code
The Google Summer of Code is an annual program, first held from May to August 2005, in which Google awards stipends to hundreds of students who successfully complete a requested free or open-source software coding project during the summer...

. Additionally a sixth, community sponsored project has been set up. The projects were:
  • Automatic feature detection by Pedro Alonso (Spain), mentored by Herbert Bay (Switzerland)
  • New modular GUI by Ippei Ukai (Japan), mentored by Yuval Levy (Canada), who is also the lead administrator on the Summer of Code effort
  • HDR de-ghosting by Jing Jin (USA), mentored by Pablo d'Angelo (Germany) who is also the lead developer on Hugin
  • Large image processing with VIPS by Mohammad Shahiduzzaman (Bangladesh), mentored by John Cupitt (United Kingdom)
  • Interactive Panorama Viewer by Leon Moctezuma (Mexico), mentored by Aldo Hoeben (The Netherlands)
  • Community project: PTbatcher by Zoran Mesec (Slovenija), mentored by Daniel M. German (Canada)

Hugin was also accepted to Summer of Code 2008. Projects were:
  • Fast, OpenGL
    OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

     accelerated preview by James Alastair Legg, mentored by Pablo d'Angelo
  • Automated feature matching by Onur Kucuktunc, mentored by Alexandre Jenny
  • User interface for masking of images by Fahim Mannan, mentored by Daniel M. German
  • Batch processing ability by Marko Kuder, mentored by Zoran Mesec
  • Automatic detection of non-static features in imagery (final application is called Celeste) by Timothy Nugent, mentored by Yuval Levy

In 2009 Google Summer of Code projects were as follows:
  • Ghost removal for Enfuse by Luka Jirkovsky, mentored by Andrew Mihal
  • Layout model by James Legg, mentored by Bruno Postle
  • Automatic lens calibration by detecting straight lines in pictures by Timothy Nugent, mentored by Tom Sharpless
  • and fourth project for porting LightTwist to Mac OS X by Yulia Kotseruba, mentored by Sébastien Roy.

In 2010 the Google Summer of Code projects were:
  • implementing a patent
    Software patent
    Software patent does not have a universally accepted definition. One definition suggested by the Foundation for a Free Information Infrastructure is that a software patent is a "patent on any performance of a computer realised by means of a computer program".In 2005, the European Patent Office...

    -free image feature detector and control point generator by Antoine Deleforge, mentored by Timothy Nugent.
  • creating a new interactive panorama overview, by Darko Makreshanski and mentored by James Legg
  • improving the make file libraries used in panorama stitching and
  • adding regression tests for libpano13

In 2011 the GSoC project was centered around Enblend's seam line optimization algorithm using graph-cut algorithm
Graph cuts in computer vision
As applied in the field of computer vision, graph cuts can be employed to efficiently solve a wide variety of low-level computer vision problems , such as image smoothing, the stereo correspondence problem, and many other computer vision problems that can be formulated in terms of energy minimization...


See also

  • Comparison of photo stitching applications

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.