Panorama Tools

About

Panorama Tools was originally created by Professor Helmut Dersch of the University of Applied Sciences Furtwangen. Professor Dersch's site no longer has links to download the tools, which is why this panotools sourceforge project exists.

This project collects together the Open Source parts of Panorama Tools, with the exception of the Java web-applet ptviewer maintained by Fulvio Senore which has developed separately.

News 24th May 2009

libpano13-2.9.14 released. libpano13 is the PanoTools library, this release adds a number of new input and output projections, a new command-line tool, documentation, cleanups and bugfixes.

News 19th March 2009

hugin/panotools has been accepted again as a mentoring organisation for the 2009 Summer of Code. If you are a full time student and would like to apply for a paid summer internship with Google and mentored by our team, then you need to get involved now, see: We want you and Summer of Code ideas.

News 20th March 2008

If you are a full time student and would like to apply for a paid summer internship with Google and mentored by our team, then you need to get involved now to develop the project brief before the application deadline: March 31 5:00 PM PDT. More details here: panotools/hugin Google Summer of Code 2008

News 12th April 2007

Five google Summer of Code students have been accepted. The following projects are scheduled for completion by August 31 2007:

  1. Pedro Alonso from Spain, mentored by Herbert Bay from Switzerland, will develop a new algorithm to identify better control points, so critical to the stitching process
  2. Ippei Ukai from Japan currently in Scotland, mentored by Yuval Levy from Israel currently in Canada, will produce a new user interface to make this versatile tools even easier to use on multiple platforms (Windows/Mac/Linux/Unix)
  3. Jing Jin from USA, mentored by Pablo d'Angelo from Germany, will develop a robust blending algorithm to eliminate ghosting in HDR panoramas to widen the range of applications for the HDR technique beyond the perfectly still scenes
  4. Mohammad Shahiduzzaman from Bangladesh, mentored by John Cupitt from UK, will look at the current bottleneck in panorama rendering to enable efficient processing of very large images
  5. Leon Monctezuma from Mexico, mentored by Aldo Hoeben from The Netherlands, will build on the community effort started last year to produce a modern, native, universal VR viewer to support the widest variety of panorama formats on multiple platforms

News 15th March 2007

Hugin and panotools are participating in google Summer of Code 2007, where students are paid by Google to work on hugin and/or panotools and mentored by experts in the field.

Some suitable projects are listed on the panotools wiki SoC 2007 projects page.

The deadline for student applications is 24th March 2007. Application details can be found on the Google SoC 2007 page on the wiki.

News 12th July 2006

Mailing lists

The old PanoTools User list has been abandoned by most of the regular contributors due to management issues. The recommended mailing list for support is now the PanoToolsNG yahoo list.

To clarify the situation, these are now the relevant lists for discussion of Panotools and related software:

PanoToolsNG
Questions and answers about usage of the various tools and front-ends
panotools-devel
For questions and discussion regarding compiling the source and developing it further.
Panotools-List
For discussion of the management issues of the PanoToolsNG group and the wiki.

Switch from CVS to subversion

All the panotools projects have now switched from the CVS source-code repository to subversion (SVN).

Binary compatibility

Up until now it has been possible to maintain the binary interface of the pano12 library. This was necessary as a number of closed-source tools which use the library are still in common-use (notably PTStitcher).

New features required by PTmender (the PTStitcher replacement) have made it necessary to break this backwards compatibility. pano12 will be maintained with bugfixes as an SVN branch, but new features will be added to a renamed pano13 library in the trunk.

What's here?

The pano12/13 library
This is the backend library used by many applications. Also included are:
Note for packagers: pano12 is the name of the library (like lotus123 or XFree86) not the version (which is currently 2.8.6).
The Panorama Gimp plug-in
The panorama-tools gimp plug-in has a separate SVN module. There are tagged releases for original-1-1 (gimp-1.1), gimp-1-2, gimp-1-3 & gimp-2-0.
The Panorama Gimp plug-in NG
The gimp-plugin is being rearranged and updated. This next generation plugin has a separate SVN module.
PTFilter photoshop plugins
A fully 16bit colordepth compatible version of the Panorama Tools Photoshop plugins.
clens utility.
A command-line version of PTLens. Compares your JPEG images with a lens database and automatically corrects lens barrel distortion.
Panotools::Script perl module
A perl wrapper around the command-line tools, doesn't interface with the library directly.

Software using the Panorama Tools library

Note that most of these software packages come supplied with a pre-compiled version of the library and everything else needed to stitch photographs - You probably don't need to download anything from here.

Important information

There may or may not be US patents covering stitching of fisheye photographs, consequently the sourcecode of this library has an artificial limit that prevents the use of fisheye images with a field of view greater than 160°.

All files available on this site are licensed under the GNU General Public License.

Most front ends for Panorama Tools use the PTStitcher tool to do the actual stitching, this has no available source-code, so you may need to download PTStitcher separately or use the included PTmender replacement for PTStitcher which is still under development. Note that hugin contains a drop-in Open Source replacement for PTStitcher called nona.

Binary versions

Hugin, the GUI stitching front-end, usually ships with a recent version of the library and command-line tools. So just download hugin to get hold of panotools and start stitching.

A Windows installer containing a recent version of the library, the command-line tools and the Photoshop plugins is available at Jim Watters' site

An OS X bundle containing the library is available here.

There will be occasional binary versions available from Sourceforge file downloads. Though if you want the very latest version, you may have to compile from source.

Getting the code

If you are running Windows you need to install an SVN client before downloading the source code - Linux users will probably have SVN installed already.

Note: 2006 August, the repository has switched from CVS to Subversion (SVN). If you have an existing checked-out version you will need to start again with a fresh copy.

Basic instructions for downloading the stable binary-compatible pano12 library are:

svn co https://panotools.svn.sourceforge.net/svnroot/panotools/branches/pano12/libpano libpano12

Future development of new features is happening on the trunk. This library is not compatible with the old binary-only command-line tools (PTStitcher, PTStereo etc...), so it has a different name: pano13.

This pano13 library can be downloaded separately like so:

svn co https://panotools.svn.sourceforge.net/svnroot/panotools/trunk/libpano libpano13

If you want the entire repository (including the pano13 library and the gimp and photoshop plugins) do:

svn co https://panotools.svn.sourceforge.net/svnroot/panotools

Compiling the library

Instructions can be found in the source, these instructions may be out-of-date for your platform, feel free to contribute updated versions.

Windows

Windows build instructions to make pano12.dll are available on the sourceforge project site.

Alternatively you can build with GNU autotools.

Linux, Windows (MinGW), Unix & Mac OS X

You need the gcc compiler, libgcj and various imaging libraries: libtiff, libjpeg and libpng. Headers for these libraries are required, so you probably have to install libXXX-dev or libXXX-devel packages too.

(Sun java is not required if you have libgcj)

Compile libpano13.so, PTOptimizer, PTblender, panoinfo and the other tools like this:

./configure
make
make install

If you have downloaded from SVN, you will need to bootstrap the build system first:

./bootstrap

Mailing lists and support

Questions and answers about usage of the various tools and front-ends belong on the PanoToolsNG mailing-list, you might want to consult the PanoTools wiki before posting.

There is a panotools-devel mailing list for questions regarding compiling the source and developing it further.

Anyone subscribing to 'panotools-devel' should also subscribe to panotools-cvs to receive a copy of each sourcecode SVN commit.

The PanoTools wiki aims to be the definitive reference for Panorama Tools. It contains a lot of usage documentation for the tools hosted here on sourceforge.

The Sourceforge panotools summary page has a number of useful resources such as a bug tracking database and file upload areas. If you find a bug in panotools, you can report it there.

Links

IQTVRA have a comprehensive set of panoramic image related links


Last updated 18th September 2009 - Bruno Postle