• Subscribe

    Subscribe to This Week In Panospace by eMail.
    Subscribe in a reader
  • License

    Creative Commons License
    This work is © 2008-2012
    by Yuval Levy
    and licensed under a
    Creative Commons License.
  • Entries

    April 2009
    M T W T F S S
    « Mar   May »
  • Archives

Bend to Please


equirectangular 360°

Earlier this year I used the above full spherical panorama to test the new projections as they were added to libpano. You can view it from the inside here.

Those new projections devised by Tom, Bruno and Daniel, were not all. In his quest to satisfy our sense of what the world really looks like without being limited by the narrow field of view of the traditional rectilinear perspective, Tom Sharpless asked for permission to modify and use the image. A few weeks later he came up with a real WOW! He is currently working on implementing this and more into his Panini Perspective Tool.

Tom was meant to discuss his work at LGM but prior commitments and the lack of a teleporting facility makes it impossible for him to attend. We agreed that I will present his slides, and host a discussion on Panoramic Perspective Control. The main idea: use of panoramic photography techniques, coupled with computing, to achieve new images that break out of the physical boundaries set by traditional optics and appeal to the human sense of aesthetics.

As part of the talk, I’ll show how I followed into Tom’s footsteps and produced the image below.

PVsqueezed to be optically pleasant.


You will need

  • Tom’s Panini Perspective Tool, or if you want to do this in high resolution a recent (2009) version of Hugin.
  • A recent version of the GIMP. I had to build 2.6.x on my own box until Ubuntu 9.04 came along. Building the GIMP from code is not trivial but relatively well documented around the web.
  • A recent version of MathMap. Unfortunately MathMap is not yet packaged with Ubuntu. The 1.3.4 tarball will do. To my knowledge, nobody has got MathMap to work on Windows yet.
  • Tom’s PVSqueeze.mm script. Put it in the appropriate MathMap folder or copy&paste it into the “Expression” tab.

Process240° x 150° equirectangular pannini

  1. As so often, we start from an equirectangular image, the universal panorama format.
  2. Load the equirectangular in Hugin and extract an Equirectangular Pannini view of the area of interest. The flexibility of extracting an Equirectangular Pannini view is higher in Panini, but Panini’s resolution is limited by the video card’s memory. Hugin can do higher resolutions but has the disadvantage that the eye distance (horizontal compression) in libpano is fixed (patch, anyone?)
  3. Load the perspective into the GIMP.
  4. From the GIMP menu, open the Filter MathMap.
  5. Load the PVSqueeze filter.
  6. Click Preview to see the low-resolution live image.
  7. In MathMap’s User Values tab, adjust the values and see the live image morph until you like it.


From MathMap’s homepage: “MathMap is a GIMP plug-in which allows distortion of images specified in a simple programming language. For each pixel in the generated image, a script is evaluated which returns a color value. The script can either refer to a pixel in the source image or can generate colors completely independent of the source.” MathMap’s is a project of Mark Probst.


Using Tom’s PVSqueeze filter:

  1. Set the horizontal field of view (hfov) and eye distance (eyeDist) sliders roughly right for your input image.
  2. Adjust the vanishing point (VP) position (VPX, VPY), and the slopes of the 4 perspective edges (XXangl) so they line up with the appropriate edges in your image. There aren’t any drawn lines, but the change of image shape is pretty easy to see. Note you have to set the projection center Y identical to the VP Y by hand, or you get a black triangle in the middle (bug; but misaligning them can help you see just where the VP is).
  3. Adjust the shift modifiers for the upper and lower Vees to suit.  Basically these swing the pixel shift direction between straight up and down — which preserves verticals like chair legs — and radial with regard to the VP — which makes most floor patterns look nicer but also creates the curved diverging lines. The shift direction varies with vertical position, from vertical at the VP to radial farther out.  XVlim controls the vertical level at which this transition starts, and XTwid the width of the transition zone.  You can set them for pure vertical or pure radial shift, or some blend.
  4. Hit OK, review the full size result in the Gimp window; save or go back and adjust some more.


So we used some smart math and arbitrary parameters to bend a captured panoramic image to please our taste. In doing this, we connected back to the Renaissance tradition of perspective on a mathematical basis. The resulting high-resolution picture is currently being printed on canvas to be displayed at the Ultra Wide Views exhibition that opens May 6 in Montréal, Canada. At Libre Graphics Meeting I will show more detail and I hope we can discuss how to classify the different projection types and make them more accessible to graphic artists.


hugin-logoBruno released Hugin-0.8.0_beta 4 (equivalent to SVN 3806). About 24 hours later Ad released a Windows installer (SVN 3811).

One Step Closer

Yesterday I drove to Montréal with the full resolution files for the Ultra Wide Views exhibition. Too large for FTP, and we anyway wanted to have a face to face meeting to discuss the details. The people at Mardigrafe are wonderful. Isabelle loaded all the images and quickly passed them through the process of some samples proof printing – a couple of full resolution partials and a few reduced size color proofing. Sylvie hammered out the details of the process, and with Louis and Benoît (who just passed by) we discussed the deployment on locations. Things are moving nicely forward. Now that the prints are in the pipeline, it is time to focus on the slide show of 360°x30° images that will be projected inside the Cyclorama. Exciting times ahead.


Groundhog protecting his holeAfter the list of accepted students to the Google Summer of Code was out the first thing I did was to write to the students we had to reject despite them passing our vetting exercise. It’s an unfortunate reality that slots are limited and it was important to me that no deserving student goes home with hurt feeling, and that they all know that it is the application being rejected, not the applicant.

I had interviewed most of them by phone. I probed their strength and weaknesses like I would do on a hiring interview. In the process I developed an opinion and now I wanted to share it with them, hoping that it will be useful for them to understand why their applications were rejected and how to do better next time.

I am relieved to report that most of the students that we could not accept for lack of slots despite their complete applications found a place with another mentoring organization. Good luck to them.

Also most of those who had promising potential but whose applications were seriously lacking took the feedback positively and agreed on the recommended improvements.

My hope is to see them around our community in the future months so that when the next opportunity arises, they have more chances to seize it.

Accepted Students for Google Summer of Code 2009

MascotteThe dice have rolled. For the third year in a row the Hugin community will mentor five Google Summer of Code students as they go about writing free software:

  • James Legg of Fast Preview fame will tackle the Layout Panorama Model mentored by Bruno Postle, improving the handling of stacks.
  • Tim Nugent of Celeste fame will tackle Straight Line Detection for Lens Calibration mentored by Tom Sharpless, improving the handling of fisheye lenses.
  • Lukáš Jirkovský, too young in 2008, has become a significant contributor to our community over the past year and will tackle Ghost Removal for Enfuse, mentored by Andrew Mihal.
  • Dev Ghosh will add Mosaic Mode to Hugin/Panotools, mentored by Daniel German.
  • Last but not least Yulia Kotseruba will add functionality like multiple blending to Lighttwist, mentored by Sébastien Roy.

I am particularly proud of the collaboration with Sébastien Roy on Lighttwist. First, because I believe there is a cultural fit between his Vision3D laboratory and the Hugin community. Second, because it is good to see academics releasing the result of their research (which, let’s not forget, is often funded with public taxpayer’s money) to the general public under an Open Source license.  And last but not least, because I think that Lighttwist is the natural extension to Hugin. I would dare to advance that Lighttwist is to panoramic photography in 2009 what QuickTimeVR was to it in 1999. In a private email exchange Ken Turkowski, inventor of QuickTimeVR and one of our team, acknowledge the analogy.

Then there is a sixth project that I care about. We have teamed up once again (and we hope to be luckier this time) with VideoLAN to bring QTVR playback to this popular media player. This time with an extra bonus: Wiimote control. León Moctezuma, who in 2007 added SPi-V playback to FreePV, will build on his expertise of FreePV and add the Wiimote on top of it, mentored by Antoine Cellerier of VideoLAN.

What’s next for the students? this article I wrote exactly one year ago applies.

Good Luck, students, I hope to congratulate you all in a few months.

Another Lego NXT Panobot

The presentation is a rather longish but these students are good! The intro sets the bar quite high and the result of their work is… well, see it for yourself. I wish they had known about hugin-ptx, and about the Google Summer of Code. May the source be with them!

Beam Me Up, Vincent!

Friday afternoon I went to Montreal to finalize a few things for the upcoming Ultra Wide Views 2009 exhibition. First we tested some images on Lighttwist. I did not expect that Vincent would surprise me with the first trial of spherical images. He only asked for one on Thursday. He took us on a very promising tour.

The soundtrack is from Freaked System and can be legally downloaded on Jamendo. I can’t repeat often enough how amazed I am at the quality of the music that can be found on Jamendo.

After putting our feet back on Earth, we walked to nearby École Polytechnique. Benoît Ozell has been very helpful organizing the logistics for LGM and by extension for the exhibition. We looked at some rooms for the Lighttwist projection and settled on… two. Yes, the intention is to have two different projection installations:

  • The initially planned 360° Cyclorama, for which I opened up contributions today – they will be soon visible in the gallery. They will complement videos and potentially even a live performance. 14 FullHD projectors, it’s going to be hot in that room.
  • A high resolution projection of the flat artworks, some of which are also meant to be printed. Most likely four FullHD projectors combined – Sébastien’s ambition is to demonstrate the affordability of Lighttwist over alternatives of similar resolution and wants to connect all those pixels to a single PC.

Things are shaping up very nicely. If you have appropriate material, get yourself an account and start uploading. Be part of this unique, ground-breaking exhibit of Ultra Wide Views.