General Pannini projection working in hugin

24 views
Skip to first unread message

Tom Sharpless

unread,
Jan 18, 2010, 12:06:54 PM1/18/10
to hugin and other free panoramic software
Hi All

The latest versions of libpano (SVN 1235) and hugin (SVN 4911) add the
General Pannini Projection to PanoTools and hugin. I have done a good
deal of work on the interface between hugin and libpano to support
dynamic FOV limits and make the preview windows handle FOV changes
better for all projections. I think you will like the results.

Please test on your system; I have only built and tested for 32-bit
Windows. You can download a 7zip self-installing archive of my Win32
build from http://tksharpless.net -- click "Free Panoramic Software"
and select hugin-2010.1.0.4911.exe.


The General Pannini projection has three parameters. The main one,
"cmpr" zooms the projection continuously from rectilinear at cmpr = 0,
to standard Pannini at cmpr = 100, to the highly compressed
orthographic cylindrical projection at cmpr = 150. The other two
apply vertical corrections ('squeezes") separately to the top and
bottom halves of the image. The squeeze parameters are bipolar, with
no squeeze in the middle (tops or bots = 0). Negative values give a
"soft squeeze" suitable for very wide views such as landscapes.
Positive values give a "hard squeeze", designed for architectural
interiors and the like, that can exactly straighten horizontal lines
over fields of view up to about 150 degrees.

I am preparing a page for the PanoTools Wiki with examples and all the
details.

The older "panini" and "equirectangular panini" projections are still
present, however I think it would now be appropriate to remove them
from libpano. The one called "panini" is not in fact the Pannini
projection; "equirectangular panini" is -- it implements the
stereographic cylindrical projection, that Bruno and I named the
Pannini projection about a year ago. However it is identical to the
General Panini with default parameters (100, 0, 0) so is now
redundant.

Best, Tom


Harry van der Wolf

unread,
Jan 18, 2010, 3:14:11 PM1/18/10
to hugi...@googlegroups.com
Hi Tom,

I built the libpano13 on the latest panotools svn 1235.
Then I recompiled the necessary libs and built Hugin svn 4912.

When selecting the "General panini" in the fast preview I get the following crash:
Dyld Error Message:
  Symbol not found: _panini_general_maxVAs
  Referenced from: /Users/Shared/development/hugin_related/hugin/mac/build/Release/Hugin.app/Contents/MacOS/../Libraries/libpano13.2.dylib
  Expected in: dynamic lookup

Any idea?

And in case you didn't know. This is on MacOSX ;-)

Harry


2010/1/18 Tom Sharpless <tksha...@gmail.com>
--
You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to hugi...@googlegroups.com
To unsubscribe from this group, send email to hugin-ptx+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/hugin-ptx

Tduell

unread,
Jan 18, 2010, 4:11:28 PM1/18/10
to hugin and other free panoramic software
Hullo Harry, Tom,

On Jan 19, 7:14 am, Harry van der Wolf <hvdw...@gmail.com> wrote:
> Hi Tom,
>
> I built the libpano13 on the latest panotools svn 1235.
> Then I recompiled the necessary libs and built Hugin svn 4912.
>
> When selecting the "General panini" in the fast preview I get the following
> crash:

For the record, which may help, I have hugin svn 4906 built against
libpano13-2.9.16 (svn 1233) running on Fedora 12 and General Panini in
the fast preview is OK.

Cheers,
Terry

dmg

unread,
Jan 18, 2010, 4:52:13 PM1/18/10
to hugin-ptx
Up to now, hugin has been agnostic to the actual implementations of
projections. That means
that any version of libpano could be used, hugin would query the
library for the projections it supported,
and continue working.

This is not the case any more. Hugin requires a specific version of
libpano (>=2.9.16).

So people who package libpano with hugin, please be aware of this issue;

--dmg

> --
> You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
> A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
> To post to this group, send email to hugi...@googlegroups.com
> To unsubscribe from this group, send email to hugin-ptx+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/hugin-ptx
>

--
--dmg

---
Daniel M. German
http://turingmachine.org

Tom Sharpless

unread,
Jan 19, 2010, 12:01:49 PM1/19/10
to hugin and other free panoramic software
Hi Harry

The symbol in question is the FOV limit routine in PaniniGeneral.c.
Evidently that file was not compiled when you built libpano. Check
your build project/makefile/whatever. I have ONLY updated things
needed to build on Windows: the CMake scripts and Jim Watters' MSVC
project. The Cmake scripts could theoretically generate a usable
XCode project, but I have no way of knowing if that is true.

Also heads up: this morning committed a patch for libpano
(queryfunction.c) from T. Modes restoring dynamic fov control on the
biplane and triplane projections, which I had broken.

When you do get it working, you may find that in the fast preview the
squeeze sliders work right only for certain source image formats.
Here, equirectangular source works fine, fisheye not, others not
tested yet. The slow preview shows the correct image in both cases,
and the stitcher generates that one too. So the problem is probably
in the fast preview code, or more specifically how it interacts with
the general panini mapping, as all other projections seem OK for
fisheye input.

Thanks for working on this,
Tom

On Jan 18, 3:14 pm, Harry van der Wolf <hvdw...@gmail.com> wrote:
> Hi Tom,
>
> I built the libpano13 on the latest panotools svn 1235.
> Then I recompiled the necessary libs and built Hugin svn 4912.
>
> When selecting the "General panini" in the fast preview I get the following
> crash:
> Dyld Error Message:
>   Symbol not found: _panini_general_maxVAs
>   Referenced from:
> /Users/Shared/development/hugin_related/hugin/mac/build/Release/Hugin.app/Contents/MacOS/../Libraries/libpano13.2.dylib
>   Expected in: dynamic lookup
>
> Any idea?
>
> And in case you didn't know. This is on MacOSX ;-)
>
> Harry
>

> 2010/1/18 Tom Sharpless <tksharpl...@gmail.com>


>
> > Hi All
>
> > The latest versions of libpano (SVN 1235) and hugin (SVN 4911) add the
> > General Pannini Projection to PanoTools and hugin.  I have done a good
> > deal of work on the interface between hugin and libpano to support
> > dynamic FOV limits and make the preview windows handle FOV changes
> > better for all projections.  I think you will like the results.
>
> > Please test on your system; I have only built and tested for 32-bit
> > Windows.  You can download a 7zip self-installing archive of my Win32

> > build fromhttp://tksharpless.net-- click "Free Panoramic Software"

> > hugin-ptx+...@googlegroups.com<hugin-ptx%2Bunsu...@googlegroups.com>

Harry van der Wolf

unread,
Jan 19, 2010, 3:00:00 PM1/19/10
to hugi...@googlegroups.com


2010/1/19 Tom Sharpless <tksha...@gmail.com>

Hi Harry

The symbol in question is the FOV limit routine in PaniniGeneral.c.
Evidently that file was not compiled when you built libpano.  Check
your build project/makefile/whatever.  I have ONLY updated things
needed to build on Windows: the CMake scripts and Jim Watters' MSVC
project.  The Cmake scripts could theoretically generate a usable
XCode project, but I have no way of knowing if that is true.


Thanks for pointing this out.  I didn't think properly and used the autoconf route instead of the cmake route.
A new round starts now.

Harry.

Tom Sharpless

unread,
Jan 19, 2010, 3:02:26 PM1/19/10
to hugin and other free panoramic software
Update:

The problem with the fast preview was due to a pair of bugs in
GeneralPannini.c, fixed at SVN 1237.

> > > build fromhttp://tksharpless.net--click "Free Panoramic Software"

Harry van der Wolf

unread,
Jan 19, 2010, 4:15:30 PM1/19/10
to hugi...@googlegroups.com
Hi Tom,


2010/1/19 Tom Sharpless <tksha...@gmail.com>

Update:

The problem with the fast preview was due to a pair of bugs in
GeneralPannini.c, fixed at SVN 1237.


updated lipbpano to svn1237, recompiled via cmake and rebuilt Hugin. Now it works fine. Time for another test bundle for the OSX community.
- It will contain your changes to both hugin and libpano and the addition of the General panini.
- It will contain Tom's new multi-step CP detectors
- It will contain the necessary addition of libiconv as the standard libiconv over the three supported OS levels are no longer compatible.

Harry

Jim Watters

unread,
Jan 20, 2010, 12:36:10 AM1/20/10
to hugi...@googlegroups.com
Tom Sharpless wrote:
> Hi All
>
> The latest versions of libpano (SVN 1235) and hugin (SVN 4911) add the
> General Pannini Projection to PanoTools and hugin. I have done a good
> deal of work on the interface between hugin and libpano to support
> dynamic FOV limits and make the preview windows handle FOV changes
> better for all projections. I think you will like the results.
>
> Please test on your system; I have only built and tested for 32-bit
> Windows. You can download a 7zip self-installing archive of my Win32
> build from http://tksharpless.net -- click "Free Panoramic Software"
> and select hugin-2010.1.0.4911.exe.
>
Great work. Sorry no time to test right now.

> [snip]


> The older "panini" and "equirectangular panini" projections are still
> present, however I think it would now be appropriate to remove them
> from libpano. The one called "panini" is not in fact the Pannini
> projection; "equirectangular panini" is -- it implements the
> stereographic cylindrical projection, that Bruno and I named the
> Pannini projection about a year ago. However it is identical to the
> General Panini with default parameters (100, 0, 0) so is now
> redundant.
>
> Best, Tom
>

It makes sense to either remove the equirectangular panini or swap in
the general panini. I am not sure which would have the least impact.
Maybe the one named Pannini should be renamed.


--
Jim Watters
http://photocreations.ca

Reply all
Reply to author
Forward
0 new messages