## Re: [PanoTools-devel] tilt functions

 Re: [PanoTools-devel] tilt functions From: Pablo d'Angelo - 2009-09-24 05:44:55 ```D M German wrote: > Pablo dAngelo twisted the bytes to say: > > Pablo> I'm still struggling to understand the geometric interpretation of the Tx,Ty,Tz angles and the Ts parameters. > > hi Pablo, > > I have created this document to explain the use of the three parameters. Thank you for the pdf, it explains the idea. For interested people on hugin-ptx: Read this to see the context of the discussion http://thread.gmane.org/gmane.comp.graphics.panotools.devel/1517 The pdf mentioned can be downloaded from http://cache.gmane.org//gmane/comp/graphics/panotools/devel/1522-001.bin > The purpose of the tilt is to remap a photo to match another plane. > > basically, the second image is moved in an angle in its own sphere (Tx, > Ty, and Tz, similar to yaw, pitch and roll) No, actually the rotation happens in image coordinates, not in its own sphere. This is a fundamental difference (in my opinion, it is also a fundamental flaw). At least thats how it is implemented. Thus, I don't see how the currently implemented tilt parameters allow a general modelling, even when using only rectilinear -> rectilinear. The XYZ mode I recently implemented actually does its rotation in an own sphere: It rotates image B in its own sphere and then translates (X,Y) and scales (Z) the input image (still on the sphere!), which is then projected onto the panorama plane (when using rectilinear output). When using another output projection than rectilinear, the image is projected onto a intermediate plane, from where it is reprojected into the output projection. In that repect, I think the XYZ mode actually fits you description better than the tilt mode. Note that for fisheye images, it does not make sense to imagine image A and image B as a plane, as it is illustrated in your example. For that case, the transformation (ignoring lens distortion etc.) is a simple matrix multiplication of the pixel coordinates with a homography matrix T (T is a 3x3 matrix, with T(3,3) = 1). So that leaves 8 free parameters that need to be determined (note that this also allows non-square pixels, so effectively 7 parameters are needed for most usecases). With the tilt mode, at least v,r,p,y, Tx,Ty,Ts and d,e are required for the warping, so there must be something wrong the model, as it should only require 7 parameters and not 9. Using an overparametrized model is not good for the optimisation, as it will confuse the optimizer. With the XYZ model, only v,r,p,y, Tx,Ty,Tz are required, which is the minimum amount of parameters, and they can handle a all possible camera positions. This should work also work independently of the projection of the input images. ciao Pablo ```