• 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

    September 2017
    M T W T F S S
    « Dec    
  • Archives

Hugin-2011.0_beta 1 released

I just kicked off a new release cycle with the release of Hugin-2011.0_beta1.

It’s only two months since our last release, and yet the project has made another leap forward.  Pablo improved CPFind (Hugin’s own patent-free control point detector) to the next level.  Darko integrated his Google Summer of Code 2010 project, making the fast preview even more interactive.  Thomas added a gray point picking tool for white balance control.  Vladimir Nadvornik added functionality to register stereo images.  And as usual there are lot of small improvement and bugfixes.

From a process perspective, this is the first time that we run a release with a formal schedule.  During the previous cycle I announced my intentions and mostly stuck to them; and when setting up Hugin on Launchpad I did reflect the previous cycles and releases in the project’s history.  But now dates are being put foward.  No panic, oh Open Source purists!  The dates are purely indicative and the principle still stands:  a release happens when it is ready, not when it is due.

From an infrastructure perspective, this is our first release since SourceForge was attacked.  For the first time I am actively seeking redundancy,  using both project hosting infrastructures available to us:  SourceForge and Launchpad.  The tarball can be downloaded here and here.  Nobody likes SPOFs.

To continue what I hope will become a tradition started with the 2010.4.0 release, this release will be dedicated to Claudius Ptolemaeus and Marinus of Tyre.  Details in the ‘about’ menu of the app.

And to start a new tradition, this release will feature artwork from a Hugin user in the splash screen.  There are a few candidates for it and you, the user, get a chance to choose which one will be adopted.  The cutoff date for the voting will be a few days before the first release candidate.

Enjoy the best Hugin ever!

The Quest is Over

The biggest user misconception about Hugin is with control point (CP) generators.  Contrary to popular belief,  until last week Hugin did not have a CP generator.

Because CP generation is critical to the process of panorama creation; and because Hugin is an interface to the panorama creation process; users misunderstand Hugin for the whole.  Every time CP generation fails they perceive it to be a failure of Hugin.

Packagers (including myself when I was a Windows packager) who ship Hugin for platforms without proper package management (notably: Windows and OSX) have in one way or another bundled CP generators in the past to help making the downloaded package useful.  Despite advanced control for CP placement, many users find Hugin without CP generator to be of limited use.  The packages did not help to lift the misconception, and brought a whole set of problems with them.

Other functions of the panorama production process in Hugin are also performed by third-party tools (e.g. Enblend-Enfuse for blending), but the interface to CP generators is a particularly tricky one because there are (too) many third party CP generators; they take different arguments on the command line; none of them is absolutely superior; and last but not least they are encumbered by patents, limiting what they can be used for and where and how they can be distributed.

So what can be recommended to packagers/distributors and users?

My more than two years old overview of available CP generators is outdated.  None of them is properly maintained.  For example Autopano-SIFT-C version 2.5.2 (that has not even been released) is broken.  It has been broken for more than a year.  The recommendation is to use 2.5.1 until the problems with 2.5.2 are fixed.  No active work was done on fixing 2.5.2, and the command line interface (and thus the string that goes into Hugin’s preferences) has been a moving target as well.

Users rightly complain about the difficulties of configuring a CP generator, and indeed it should not be that difficult.  But the changes in the CP generator need to be coordinated with the changes of parameters in Hugin.  Hugin ships with pre-configured parameters, but Hugin can’t determine if the CP generator is of a version equivalent to the pre-configured parameters.  To make matters worse, packagers may be packing older versions of the CP generators with newer (incompatible) versions of Hugin.

Even the new installer that downloads the CP generators from their original locations is not free of these troubles.  How does it know what version to download and whether there is already a previously installed instance that interferes with the new one?

Ever since accepted as a Google Summer of Code mentoring organization,  the number one priority has been a patent-free CP generator that can be shipped with Hugin.

In 2007, during our first Summer of Code participation, Zoran Mesec implemented a feature matcher with the mentoring help of Herbert Bay (inventor of the SURF algorithm that is implemented in Panomatic).  Paired with existing autopano code, this yielded matchpoint.  In February 2008 Bruno Postle’s built match’n’shift on top of it by using an intermediary projection to improve the quality of the generated CPs.

In 2008, Onur Küçüktunç built a feature descriptor, mentored by Alexandre Jenny of Autopano Pro.  The project provided experience and insights, but performance was not as hoped.  The branch still exist in Hugin’s repository but has been superseeded.

In 2009 students picked up other projects and the idea of the patent-free CP generator seemed to be skipping another year.  But over Christmas Pablo d’Angelo had some time and inspiration, and so in early 2010 the missing piece of the puzzle was created.

Still, it has taken another Summer of Code in 2010, and the determination of Antoine Deleforge and the mentoring of Thomas Modes to complete the work started almost four years ago.  cpfind, the patent-free control point finder has been integrated into Hugin’s default branch and is in the pipeline for a release after the current 2010.2 release.  Maybe before the end of the year?

cpfind will hopefully solve the majority of the problems for the average user.  Until then:

  • Avoid installing too many CP generators.  Choose one that works for you and stick with it.
  • Before using a CP generator from Hugin, try it from the command line.  Start a command prompt, run the CP generator you want to test with no arguments and read its online help and version number.
  • Try running the CP generator from the command line on a few pictures.  Load the resulting file in Hugin and check visually on the Control Points tab if the resulting CPs are good or garbage.
  • Once you are sure that the CPs are good, set the proper preferences in Hugin.  If you have difficulties, ask on the Hugin mailing list, mentioning clearly what version of what CP generator you are dealing with.
  • Alternatively, try entering the CPs manually.  With Hugin’s sophisticated entry system, you don’t even have to click on the exact spot, just make sure it is within the square cursor.  With a pre-calibrated lens, three to four CPs are enough to obtain an excellent result.
  • If you are sure that the CPs in your project are good, but you still don’t achieve a proper alignment, the issue is either with the input images, or how the optimizer is operated.  But that’s material for another article.

Releases, Releases.

Somehow the end of the Gregorian calendar year seems to be a popular time for software releases. There have been a number of interesting releases in the past two weeks in the area of Free photography in general and panorama making in particular. Too many to mention them all.

The one that caught my attention is PTStitcherNG 3.0b by Prof. Dr. Helmut Dersch. Helmut has been at the forefront of panorama making software for more than a decade now, and his new tool optimizes for speed and memory footprint. A 1.5 gigapixel panorama will stitch within less than 100MB RAM. To me this comes very convenient: since I upgraded my photo gear the resulting images are too big to stitch on my ailing notebook maxed out on RAM.

Unfortunately for the time being it is free and not Free. Binaries are freely available for Windows, OSX, and OpenSuse 11.1 (x86_64). Users of Linux distributions other than OpenSuse will need to run the Windows binary through Wine and take a 30% performance hit. The currently distributed binaries only work on SSE3 processors. Helmut says that a source code release is pending the scientific publication of his results. For the Pentium M / Ubuntu 9.04 notebook whose life I’m trying to extend beyond shelf-date  I’ll have to wait for SSE2 binaries or for the source code. I worked around it by rsyncing the source images to my Kubuntu 9.10 office workstation and running PTStitcherNG there, remotely.

Another notable release is Enblend-Enfuse 4.0 that has been overhauled by Christoph Spiel and has spurned a release of newer versions of related GUIs,   ImageFuser0.7.4 by Harry van der Wolf and EnfuseGUI 2.1 by Ingemar Bergmark.

Last but not least, Bruno released Hugin 2009.4.0. completing the work I left unfinished, and started the release cycle for 2010.0.0. James topped the Holiday present by merging into trunk the much awaited new layout branch, with his Google Summer of Code project and Pablo’s XYZ  parameters for image position.

Pushing the Boundaries.

One of the constraints when shooting panoramas with Hugin (and with most panoramic tools) is the No Parallax Point (NPP). There are physical and logical reasons to turn the camera around it when shooting images for a perfect stitch: Physically, pictures taken from the same NPP have no parallax. Logically, the mathematics of panoramic software is simpler when assuming that all pictures are taken from the NPP.

Photographers build or buy panoramic heads to help them keep their camera’s NPP aligned with the point around which it is rotated. Unfortunately the panoramic head leaves an undesired footprint on the nadir. One technique to deal with the nadir is to move the tripod for an additional shot, often handheld. That shot is most often offset from the center of the panorama.

PTGui was the first panoramic tool to deal with an offset NPP. It requires the control points in the offset picture to be on a single plane – not an unreasonable assumption for the ground on which the tripod stands. Hugin has lacked this feature for a long time. Now it has been introduced by Pablo, inspired by the discussions preparing Dev’s Google Summer of Code 2009 project (that yielded another type of transform for mosaic mode, implemented by Daniel very recently in libpano.

Dev’s original project was about mosaics and not necessarily the nadir shot. I’m interested in mosaics too, I want to break away from the limiting factor of the sphere.

So the other day I went for a stroll in town, and I shot a few pictures. Hand held. With my son sitting comfortably in the back pack.XYZ_previewThe sphere is still somewhat a limiting factor, and so is the rectilinear projection.

No panoramic head was used to shoot this 18.000 pixels linear panorama. What is next?

LGM 2009: Conclusions

Time to sum up my feelings about Libre Graphics Meeting (LGM) 2009 and set targets for the next twelve months, inspired and encouraged by Jon Phillips.

LGM2009: what went well

  • Venue: Excellent support, good infrastructure, and extremely useful recordings of the conference (thank you, Kaveh Bazaragan). The offer by Louis Desjardins to hold LGM regularly in this setting should be considered seriously. Kaveh’s offer to host us in India is very attractive as well. Never been to that part of the world…
  • Format: Single track is just right! Stick to the clock. Session length appropriate. Good mix of sessions, lightning talks, BoF. Plenty of opportunities to get things done and network.
  • Attendance: A good mix of artists and developers.

LGM2009: what could have been better

  • Echo in the local media (I tried to get noticed with the Ultra Wide Views exhibition but strictly speaking I’m not local).
  • Interaction with the local public (my impression is that there was less local public than at LGM2007).
  • Outreach beyond the world of Free graphics. Everybody has imaging devices nowadays and we need to convey to them that this software is for them too.

To do for LGM2010

  • Decide on the venue ASAP. This is the single most important issue on the critical path to leading to LGM2010. The discussion on the mailing list seems to have fade out?
  • Reach out to the general public! Ginger Coons suggested tupperware parties? Let’s show schoolkids that they need not pirate software to be creative. Let’s share our creations with the general public. Let’s get the media buzz going. Concentrate a few speeches geared at the general public on the Saturday. Make the exhibition last longer than the conference, with the conference being its culminating point. Entice the general public to learn about free graphics.
  • Keep the buzz going – my feeling is that there is not enough going on in between conferences. I’d like to see more activity on the mailing list. We need more fund raising in these difficult times.

Hugin at LGM2009

Lucky circumstances had it that I could offer free lodging to those of our team that were attending. Being that close was a unique opportunity to discuss the challenges ahead, both immediate (with two of the new Google Summer of Code students due to start coding soon) and in the longer term (with Andrew Mihal, Pablo d’Angelo, Jim Watters). While I would prefer to focus on the creative process rather than on the tool-making process, we are still at a stage where tools require more attention than I’d like.

  1. The first exhibition of panoramic artwork was a good start. It provides a stepping stone for a V2 at LGM2010 (or 2011?). I’ll summarize key learnings at some point.
  2. Our tool-making process is not ticking regularly enough yet. We’ve discussed a fix for our release cycle (we do not subscribe to ffmpeg’s philosophy and we are far behind compared with the best practices of the Libre Graphics pack). Pablo had a good idea for a new naming convention. Hugin-0.8 is due very soon. After that we’ll initiate the changes.
  3. Our organization needs to grow to the next level. Here again, we’ll be looking at best practices in the Libre Graphics world and shamelessly copy you.

To do for Hugin 2010

  1. Get more artists to physically attend the conference and present their work. I liked Stani’s presentation; an inspiration for next year. I did not really plan jumping in for Tom and presenting his new tool. Next year we shall also have at least one tutorial session to introduce people (possibly from the general public) to the joys of panorama photography.
  2. Deliver the tools to the users at a faster pace. Users have been waiting almost a year to have convenient access to tools introduced during Google Summer of Code 2008. We intend to shorten that time with the current crop of Google Summer of Code projects.
  3. Structure our organization to better handle donations (foundation? ideally piggy-back on something existing rather than reinvent the wheel) and go more systematically about recruiting which is currently also not diversified enough.
  4. Help another small Libre Graphics related project to jump on the bandwagon. This year Hugin made the conscious decision to allocate one of its Google Summer of Code slots to Lighttwist. I believe that giving a lift to like-minded projects and helping them establish reputation as recipients of student slots within the GSoC universe is in the common interest. For 2010, should Google elect to run the program again and should we be accepted as a mentoring organization again, I already spoke with Rafal Mantiuk. He would love to have a student work on pfstools. Whether I can pull my friends at Hugin in this direction remains to be seen – the connection between Lighttwist and Hugin is a more obvious one than between pfstools and Hugin. But I am confident that this is of strategic interest to Libre Graphics as a whole, beyond Hugin.

Umbrella Organization

One fact that can’t go unnoticed is the complete absence from LGM of one of the biggest Free Software sponsors. And I am not talking money. Leslie Hawthorn of the Google Open Source Program Office was a two hours drive away, in Ottawa, at BSDCan. Why couldn’t LGM attract Google Open Source Program Office to hold a presentation? What can we do to improve this, and maybe even convince Google to return to be a full sponsor of LGM like it was in 2008?

I think one of the issues is that we’re still too splintered. Libre Graphics would be better off if we can set up some sort of umbrella organization to handle our common interests.

  • Umbrella organizations such as Gnome, KDE, FreeBSD and others are heavy weights of the Google Summer of Code program. The logic is simple: Leverage. Google leverages the mentoring organizations to manage projects. The more student projects a mentoring organization takes care of, the more attractive it is for Google to work with it. An umbrella organization as an added layer makes the program scale better. It reduces the strain on Google’s resources for a given quantity of students while providing the necessary quality assurance. I’ve added a feature request in that sense to Melange’s tracker. An umbrella organization could allocate slots within projects that taken alone would have little chance to be selected as mentoring organization, and many Libre Graphics projects qualify in this category.
  • Hugin is not the only project that needs a formal way to handle money. Other projects have already been down that road. Why reinvent the wheel? We could learn from their best practices regarding tax exempt status and other issues. Or even better: why start a foundation if there are existing ones? We’ll be looking not just to learn from existing foundations, but also to explore whether there is a natural fit for us to join forces. Pablo agrees that joining an existing foundation is the best option for us, and my wish would be to join an umbrella foundation for Libre Graphics.
  • I hope I’m not the only one who wants to help other small Libre Graphics projects on the bandwagon. As a team we can help more efficiently.
  • Last but not least, the umbrella organization could give a base to the Libre Graphics teams organizing the local meetings. As such, we already have a candidate leader for the umbrella organization: Louis Desjardins has done a terrific job at LGM2007 and LGM2009 – plus all the support he has given to the LGM2008 organization. I did not discuss this endorsement with him and I hope my proposition does not  anger him: Louis for president!

Academic Track

One of the directions discussed at the end of LGM 2009 is to improve ties to the academic world. There is a natural fit between motivated students (not only in computer science) and Open Source. With Micheal Terry of University of Waterloo (a pioneering institution that it lets students keep intellectual property to their work, enabling them to release under Free licenses); Nicolas Robidoux of Laurentian University; Sébastien Roy of Université de Montréal; there were at least three professors presenting at LGM. And let’s not forget Benoît Ozell of École Polytechnique who made LGM’s infrastructure possible. We need more. Universities can leverage Free software as teaching instrument and research ground; as well as a lower cost, high quality, self-maintained infrastructure (not a negligible point in these times of shrinking budgets). Free software’s benefit would be a reneweable source of recruits: as generations of students come and go, some of them may stick around. Others will just make a small part of the journey with us as a way to start early establishing a track record for their future professional career. Tht0s good too. I am proud of the ties Hugin developed to Lighttwist and the 3D Vision Lab at Université de Montréal. We need more such symbiotic relationships.

Usability and User Interfaces

One of the hottest topics throughout the conference was user interfaces.

Jon seems to be sold on the web based stuff. Listen to his talk. I’m skeptic. The cloud buzz reminds me of early day eCommerce buzz, and more specifically a Powerpoint slide (I think it was a McKinsey consultant) ranking goods and services in order of eMarketability. That slide made perfect sense to me: goods where the touch/feel/smell experience is important (e.g. cigars) don’t sell well over the net. Twelve years and a few bubbles later another smart consultant may have already a similar slide for the cloud. Great for new media publishing; for transparent data backups and other back-end services. I bet that graphics apps in the cloud are not far away from cigars in eCommerce. For services that already have an inherent dependence on bandwidth, the cloud is indeed a great thing. Redundancy is good.

I found Michael Terry’s lightning talk about kinematic templates one of the most refreshing and interesting contributions. Time to apply these same principles to general menu navigation. Apple does it the hardware way by putting the menus always on top of the screen so that reaching for a menu I don’t have to slow down and target the item precisely as if it was in the middle of the screen. With screens becoming ever larger, the approach has its limitation. Not every pixel on the screen has equal weight/importance and this should be mapped to a sort of gravity map in mouse movements. Drawings / kinematic templates are the first and most immediate application to this. Kudos!

Video Editing

Before LGM I had this perception of void in the area of video editing. I did my research six months ago when I bought this great camcorder to share the joys of a grandson discovering the world with my parents across the pond. I want to spend time video editing, not trying to make the tools work. Result: I bought SONY Vegas 9 Platinum Edition to replace the useless stuff that comes bundled with the camcorder and has the limitation that it does not work with anything else but the bundled camcorder (serial number check!).

Jean-François Fortin Tam gave an excellent presentation about PiTiVi. Interestingly, he was perviously also a Vegas user – Vegas is in my opinion the least worse of the pack of video editing applications, all licenses considered. PiTiVi looks promising, but it seems to be only available for Linux, still lacks some basic tools such as fade transitions, and as Jean-François said, tog et something useable you still have to make an effort to make the tools work by getting them from the repository. I have not tried it yet, but it may become an interesting alternative in a few month, when the project will release something stable that will be picked up by the different Linux distributions.

What really inspired me was Bassam Kurdali’s speech describing the use of Blender as a video editor. During Bassam’s talk I grabbed a video to my notebook and tried to follow in his footstep. And guess what? I’m sold. From a user interface perspective, things worked very well for me. Only a technical issue for which I filed a bug report is keeping me from making my first steps in Blender as a video editor.

User Interfaces Revisited

Using Blender was an eye-opener to me. My greatest fear, which turn out to be unwarranted, was that a complex tool would have a steep learning curve. What I found out was the other way around. Blender has a user interface metaphore constent across the board (even across different operating systems, which is a plus) which makes it so easy to take the plunge! It interface effectively between the users and the very broad and sometimes extremely complex set of functionalities. It scales nicely and once a few basic concepts are understood, it is very effective. Blender rocks!

This brings me to another (last) topic in this long post: UI consistency. As Ginger Coons said in one of my preferred talks designers like Adobe. In my opinion, one of the factors that contribute to this liking is the consistent user interface. When you know how to handle one tool, you know how to handle all of them. Many Libre Graphics software have a rather rough user interface (and I include Hugin in the pack). The notable exception is Blender.

The UIs of our tools are too disparate. I know my following wish won’t happen any time soon. I know all of our tools have their own unique histories, cultures, dependencies, likes and dislikes. But I am allowed to dream, right? So let me drop the bomb: If I could, I’d put a layer of Blender UI on top of all of them. Because the Blender UI is so great. It’s consistent across the tools and even across operating systems. My guess is that this is the result of a well thought-through design because the people at Blender were confronted with a bigger problem than the rest of us. They had to interface between their users with a set of functionaities that is far more extended and often times more complex than any other graphics tool. The result of their design effort is a UI with a clean and consistent metaphore. Learn that, and you’re half-way on the learning curve. It is easy to learn and efficient to use.


LGM 2009 was great. Dreaming is permitted. But most important, we need to take consistent actions throughout the year and build on top of what has been achieved to make LGM 2010 even better. For myself, I’m off for a one month trip back home. When I’m back, I’ll tackle those priorities that are in the realm of what I can do. For the rest, I am ready to team up with whoever shares the vision of a stronger, united, Libre Graphics Universe.

LGM Day 3, Day 4, Follow Up

Days went by so quick, so here is a summary.

Day three was intense. The presentations were very interesting, particularly those of Andrew Mihal about Enblend-Enfuse and about GPU stitching. In the evening we had the conference supper, a very pleasant social event at which I learned from about Øyvind’s Now By Then installation and got a chance to purchase one of the last “Architecture Fiver“‘s  that Stani brought along for his talk. He also patiently gave me an insight into the thinking pattern of curators, lifting my morale from the previous day.

On day four I had a near-death experience. Since Tom Sharpless could not attend, I picked up his slide and hosted the talk. In the morning I prepared my notebook in dual display mode, so that on one display I can run the demonstrations of Panini, MathMap and Hugin, while on the other display I had my notes, which I kept editing until shortly before my talk. Without saving. Disaster strikes when I connect the notebook to the projector. My notebook’s native resolution is 1400×1050, too much for the projector to handle. Must restart X. Lose all presets and notes! I froze on the spot. Had to cut on a few gimmicks such as recording the talk with the catadioptric lens or shooting a stitched panorama during the talk (I made the move with the camera around the tripod, but had no available brain cycles to even think of setting the exposure or pressing the real button. I felt like a zombie and was disappointed at my performance which I felt was terrible, although a look at its recording comforted me: it was not that bad after all, even if I forgot to say half the things I wanted to say, the live demo and the interaction with the public were not that catastrophic.

The good news from day four was that Sébastien and Vincent debugged the flat display in extremis so that people walking out of for the lunch break passed by and could admire Guillaume’s stunning Boulevard Bancel (we’ll gladly admit that once this was on screen and working we pulled the cables on the slide show so that nothing can go wrong. Proper slide show the next time).

Since the cafeteria was closed on Sunday, we had to order pizzas for lunch, which was great as it inspired more exchanges before the last presentations. In the end, I even got the honor of shooting the official group picture, and to offer some of the present teams a panorama inside a panorama in the Cyclorama, while our team helped folding up the exhibit canvases.

After protracted good byes, I drove eastwards with Alexandre and Pablo. Alexandre only joined us for a tour of Québec-City. Pablo continued with us to Boréalie before I drove him back to Montréal for his flight on Wednseday. The rest of the week, and the weekend, I had to catch up with pent up business. Particularly the weekend was difficult, with a few difficulties upgrading servers remotely from FreeBSD 6.3 to FreeBSD 7.2 (the worse thing is that all manipulations worked well on the guinea-pig server in the office that is pretty much an exact mirror of the servers to be upgraded).

I still made time on Sunday evening for another quick hop to Montréal, and I am happy I did. Joergen Geerds was visiting for the weekend with his girlfriend. Interesting people.


LGM Day 1

We’re at LGM. Yesterday  I picked up the Ultra Wide Views, Fahim in downtown and Pablo coming from Germany at the airport. We spent the late afternoon / early evening mounting all the canvas and the few photopaper prints; then we looked at Sébastien, Vincent and Jean-Ambroise set up the LightTwist driven Cyclorama. We had a bite with Benoît Ozell, his support for everything happening here at École Polytechnique de Montréal is fantastic. Dev Ghosh joined us after his plane landed.  Jim Watters arrived after dinner. I worked until 3 AM on my notebook.

This morning most things worked as planned but still neded some oiling. The exhibit of 360° views from a dozen artists on the Cyclorama was ready just in time for after Sébastien’s speech, with some minor details corrected afterwards. It was delighting to receive the visit of .Jean-Pierre Lavoie, one of the most successful panorama photographers in Canada, who has pioneered usage of immersive medias in the news. LightTwist made a great debut.

I am running on my last juices, but all the interesting people keep me going. It’s good to see familiar faces; to put a face on a name known from the mailing lists; to meet new people and hear about new ideas. This conference is refreshing. I’m capturing some of the moments on video, but won’t have time to process it for a while.

Andrew Mihal arrived a few minutes ago and Yulia Kotseruba is scheduled to arrive late tonight. This will complete one of the largest Hugin developers line-ups in a single location. Friday night is the conference’s official dinner, but we’ll have our team dinner Thursday night in a yet to be defined place.