Hi Dan

On Mon, Jan 24, 2011 at 9:29 PM, D M German <dmg@uvic.ca> wrote:

 Tom> Would that be a per-image variable? 

 Tom> The more I think about it, the more I think the "portable lens
 Tom> parameters" flag should  be per-project.  I see little to be
 Tom> gained by supporting a mixture of portable and traditional
 Tom> parameters in the same project, and a good deal to be gained by
 Tom> automatically converting old scripts to portable ones.

Keep in mind that libpano does one photo at a time, so the "per-project"
issue is not really a major one.

We would benefit by having a lens line, because it would be easier to
move around between files. In the current model, any lens line is
specified in one image, and then referenced later in other images. The
problem of this model is that the lens line cannot be easily extracted
and copied to another image.

Another thing,

The current correction happens in spherical coordinates as a way to
simplify the model, but you are correct, a new correction model can be
moved before the image is mapped to the sphere (in the actual
coordinates of the photo). I personally don't think it matters much,
except that it in the spherical coordinates it is easier to correct
while maintaining field-of-view.

Recapitulating... my vote is to institute a lens line and let images
refer to it.

I think a lens line is a great idea; perfect, from the point of view of script management.  Implementing it would take a bit more new code in libpano, than just slipping in 2 new image parameters, but I'm sure it would be worth the trouble in the end.

w.r.t your other e-mail, I fully agree that libpano is not the place to implement a lens database.  But it  should support fully portable calibrations.  And packaging those on separate lines would definitely make things easier for apps that do use a lens db.

Any thoughts about how to ID and reference lens lines?  I'd be tempted to use string names,  a further step toward a db, I guess.

Regards,  Tom


 Tom> Best, Tom

Daniel M. German
dmg (at) uvic (dot) ca
replace (at) with @ and (dot) with .