Hi all,
 
I understand this list was created to improve PTools, and wondered if you could help - specifically with use of PTOptimiser.
 
I have produced a very accurate panoramic head recently (www.360Precision.com), and am having a hell of a time reliably calibrating the lens/rig using PTGui/PTmac. Let me explain the situation.
 
The head should is very accurate, rotating the camera about a known point by precisely 45 degrees each time (i am confident it is accurate to <0.05deg). Pitch is unknown as the camera is presently placed on the rig by user with a bubble level (probably to +-0.2 degrees accuracy), but given the camera is so well constrained in relation to the axis of rotation, this pitch will remain constant (relative to axis of rotation). The same is true with roll values.
 
Typically i would expect my rig to have a roll due to camera sag of say 0.3 degrees, and pitch is arbitrary due to how the camera is mounted (+-0.2 probably). I have found no way of reliably calibrating the lens/rig and stitching to one I would deem  a 'nice' solution* - one that demonstrates my known physical constraints. After calibration with 3 high overlap images (confirmed calibration as difference mask in PShop is totally black, FoV correct) I imported the lens coeffs. to PTGui to stitch a full pano. Then fully optimised from PTOptimiser, i find to approx +-0.3 degrees error from 45deg increments and pitch and roll are noticably different (+-0.2 degrees variance across all numbers - this is with no vertical cp's so all pitches should be relative to axis of rotation, therefore identical). After much struggling, it seems that optimiser is not obtaining the correct solution. As such stitching errors occur, and batch stitching is not proving perfect every time. I have tried forcing yaw - then pitch values, and roll values decrease, but do not remain constant as i would expect, and errors creep in.
 
I was wondering if it possible to create a version of PTOtimiser that optimises using the known physical constraints, that is Yaw is 45..90..135 etc. and all pitches (relative to roation axis ) are identical, all roll (relative to rotation axis) are identical. I think that if I could get a version of PTOtimiser to do this, then using these constraints, and a panorama, it should very easy to reliably calibrate the lens. Do you understand my problem/rationale of solution? Is this possible to implement PTOptimiser? If so, i would be extremely grateful if any of you could try to adapt PTOptimiser to do this.
 
 
* i would expect (assuming a perfectly level tripod)
Yaw 0 pitch 0.2 roll -0.3
Yaw 45 pitch 0.2 roll -0.3
Yaw 90 pitch 0.2 roll -0.3
Yaw 135 pitch 0.2 roll -0.3
Yaw 180 pitch 0.2 roll -0.3
etc....
 
If the tripod is set up off level and vertical c/ps set, i would expect a superposition of pitch and roll values to reflect the tripod level on of those fixed offsets above. In this case your final pitch and roll per image is the combination of the intrisnic head offsets, and then the pitch/yaw required to align the head to the real world.
 
Any help or advice in regard to this is highly appreciated,
 
Yours,
 
Stuart Milne