[names.gif] [titlesmall.gif]

Implementation and Results


For performance and portability reasons, we implemented our project in C. Preliminary algorithm tests were done in MATLAB. Our program was developed and runs on the Sun Solaris Platform, but it should be portable to other major Unix platforms with little effort.

For basic imaging operations like reading an image file, displaying images, image data representation etc. we used the public domain CVIP image processing library [CVIP], which is available for Solaris, IRIX, and Linux. For fast computation of DFTs we used the standard FFTW library [FFTW], which is also available for most major Unix platforms.

The program takes several command-line options for mode selection and has a simple text-only user interface, several operation submodes are governed by environment variables. For debugging purposes, various messages are printed at run-time. See this sample program output generated by registrating and composing seven images by the phase correlation method.


Due to the native implementation in C, the programs runs at very high speed. No special attention has been given to memory comsumption. For large sequences, the program may need several 100 MBs of RAM. With some performance sacrifices this figure could however be easily decreased to a level suitable for common PC configurations. The following measurements were taken with the highest compiler optimizations on a Sun Ultra Enterprise 5500/8 with 2GB RAM, running Solaris 2.6:
Test Sequence # of Images # of Pairs Image Size Registration PhaseCorrel Composing
Quad1 9 36 200x267 35s (1 pair/s) 7s (@1000x259)
Quad3 49 1176 150x200 120s (10 pairs/s) 115s (@2000x402)

The composing results are taken with bilinear interpolation and blending switched on. The significant speedup in phase correlation registration for the Quad3 case can be explained by a FFT caching mechanism that we use.


We tested the program's results with several image sequences taken on the Stanford Campus. We used a Canon Powershot S10 digital camera to take the pictures, without a tripod.

Click on the images to open an enlarged view. Unless stated otherwise, all source images were registered using phase correlation and composed in angular projection.

The Stanford Main Quad

This panorama was generated from 12 source images.

View of the Stanford Quad and Green Library

On the second image, you can see the single source image boundaries. This panorama was generated from 33 source images.

Memorial Church

This panorama was generated from 33 source images.

Green Library's Bing Wing

This panorama was generated from 28 source images.

Lane Reading Room, Green Library

This panorama was generated from 21 source images.

Main Quad QuickTime VR

This panorama was generated from 49 source images.

Click on the image and drag the mouse around to pan the panorama. Press the shift key to zoom in, control to zoom out.

Get QuickTimeFor viewing this interactive demo, you must have QuickTime installed on your computer.

You can also view a very large version of this panorama (4000 pixels wide, 372 KB).

Previous (Composing) · Up (Main) · Next (Conclusion)

© 2000 Laurent Meunier and Moritz Borgmann