Improved Optimizer pano12.dll

Available here is a pano12.dll that has numerous improvements to the optimizer.

This is built from the sourceforge cvs as a starting point.  Modified sources are posted here (see below for downloads).

Major improvements/changes include:
Very briefly, faster convergence is achieved by using a hybrid approach that makes more information available to the optimizer.  The old optimizer only knew about control point error distance, not direction.  That was stable but could be painfully slow near convergence.  The new optimizer uses the old strategy as long as that is effective, then switches to a new strategy that breaks the error into longitude/latitude components and optimizes those simultaneously but separately.  This greatly speeds the process near convergence.  In addition I have tuned the convergence criterion so that the optimizer does not waste time playing with the noise in an already converged solution.  (Well, at least it doesn't do that nearly as often -- there are still cases where you have to push the Cancel button to make it give up.)

FOV stabilization is done by scaling errors by changes in the FOV, consistent with the model that if the lens FOV changes, the user will adjust the pano FOV to match.  If the FOV is changed a great deal, you may have to invoke the optimizer a couple of times to get a fully converged solution.

I have also fixed a few minor bugs.

Huge thanks are due to Rollo Ross and Jim Watters for extensive testing, analysis, and discussions.  Thanks also to other participants in the mailing groups for discussions and sample cases.

In case of problems with this version, please contact me by email.

Reports of successful use will also be greatly appreciated ;-)

Thanks much,
--Rik Littlefield

PS. This version is built with MAX_FISHEYE_FOV 200.0 only for your convenience in testing.  Usual legal disclaimers apply.


As of July 24, 2004, I recommend that you download the current SourceForge version of pano12.dll, which includes a final build of the improved optimizer plus other recent improvements.  See for more information and links.

Downloads for just the improved optimizer are:

pano12.dll  Version "PTools 2.7 RLbeta2"
Modified sources (.zip)

Change history

May 17, 2004.  Version "PTools 2.7 RLbeta2"  fixed possible bug in interface with GUI's, for horizontal/vertical/line controls
May 16, 2004.  Version "PTools 2.7 RLbeta1"  initial beta release

Effective date

This page last modified July 24, 2004.