proj-imim:
How Close is Close Enough?
Doug Brightwell 2000-May-07 08:15:16
H, all...
I shoot 4x5 color negs to create panoramas for large prints. Typically a
panorama consists of 3-4 individual images and covers a total HFOV of about
120-220 degrees. I don't do 360 degree panos. The view camera is set on a
leveled tripod, with a QTVR pan head with click stops for different angles.
Lenses are high quality rectilinear view camera lenses, mainly a Schneider
58mm Super-Angulon XL. I've been shooting in landscape orientation,
horizontally, not vertically. There's _lot's_ of overlap. In fact, probably
more than I need.
I've been working long and hard on getting a script that aligns three
images, and wanted to see if I could elicit some help regarding a few
specific issues:
1. How much of the images are supposed to be aligned? In other words, should
I be able to layer two adjacent images in Photoshop, set one to 50% opacity
and see every overlapping feature line up as if the overlapping areas were
copies of each other? I believe Helmut said one time that perhaps not
everything will line up, but at least the control points should. But that's
never happened for me. If I have, say, 12 control points, I never ever have
those twelve places align. There does seem to be line that runs irregularly
through the image, bending this way and that, where the two images come
together by a few pixels, and I can create a mask in PhotoShop by hand that
takes advantage of that wandering alignment. Is that the way it's supposed
to be, or should I be expecting all my control points to align?
2. The images I'm stitching are about 6500x5200 pixels each. The scripts I'm
generating indicate that the optimizer can't get the distance between
control points to be exact. As you can see in the script enclosed below, the
distances are often 20-50 pixels off. Is that normal for the size images I'm
working with? Or does that indicate a problem? What causes the control
points to be so far apart?
3. How critical is having the nodal point of the lens exactly over the
tripod's center post axis for 4x5, if their are no really close objects to
the camera? What is the amount of tolerance that is acceptable? I'm shooting
landscapes and building exteriors, not the inside of an automobile. Thus
far, I have been merely eyeballing it, racking the front standard of my view
camera into a position where the front lenses board appears to be aligned
with the center post of the tripod. (I've assumed that the nodal point of
the lens is at the lens board, where the shutter is. Is that a valid
assumption?) In my hurry to get the shot, I could sometimes be off by as
much as 1/2 inch. Is that enough to be causing alignment problems? When I
read about people creating panos from handheld shots or by using a monopod,
I would expect that Pano Tools can work with a fairly wide range of
tolerance.
4. I don't let PTStitcher create the entire panorama in one rendering.
Instead, I process each of the three images separately. I simply drop each
95Mb file onto the PTStitcher individually, and let the program grind away
for about 30 minutes. The app grabs about 850Mb of RAM, which fortunatley I
have. The result is that I get the entire frame of each image, that is not
cut off by PTStitcher's masking function. Essentially, I want Pano Tools to
warp the image correctly, and then I want to do my own layering and make my
own masks in Photoshop. I guess at the total HFOV and height and try
different values to insure that the resulting PhotoShop file shows the
entire warped image with no cutoff or cropping. From script to script, from
trial to trial, there can be a wide varience of how big the Photoshop canvas
is, how big the actual image is within the canvas, and exactly where the
image is positioned within the canvas. I have been simply dragging the
images into the position I need them in order to layer them in PhotoShop.
The question is, is there anything about this procedure that could cause the
images to not get warped in exactly the right shape, and could that be
causing all my control points from aligning? Is there a better way to go
about this?
5. Is there anything in my script below that leaps out as being a problem in
my approach?
6. What does this mean?... "the relative error between x and the solution is
at most tol"
Thanks in advance for your help and suggestions!
Doug
--
Doug Brightwell
#removed#
-------------------- Script ------------------------
p f1 w12280 h8000 v180 u10 n"PSD_mask" -buf
i f0 w6500 h5205 y-60 p0 r0 v95.2 n"GreenHouseA.6500.tif" X0 Y0 Z0
i f0 w6500 h5179 y0 p0 r0 v95.2 n"GreenhouseB.6500.tif" X1 Y0 Z0
i f0 w6500 h5163 y60 p0 r0 v95.2 n"GreenhouseC.6500.tif" X2 Y0 Z0
v y0 p0 r0 v0
v v1
v y2 p2 r2 v2
c n0 N1 x4810 y813 X2143 Y879
c n1 N0 x1743 y912 X4402 Y976
c n0 N1 x4744 y974 X2083 Y1012
c n1 N0 x1956 y1106 X4610 Y1109
c n0 N1 x4438 y1291 X1779 Y1250
c n0 N1 x4217 y1971 X1530 Y1928
c n1 N0 x2213 y1618 X4887 Y1586
c n1 N0 x1359 y894 X4072 Y1060
c n0 N1 x3781 y1135 X961 Y878
c n0 N1 x3282 y1265 X118 Y842
c n0 N1 x4163 y2863 X1466 Y2898
c n0 N1 x4268 y3799 X1594 Y3884
c n0 N1 x3773 y3672 X950 Y3936
c n0 N1 x3635 y2812 X740 Y2920
c n1 N2 x3256 y1090 X30 Y582
c n2 N1 x46 y478 X3263 Y1012
c n1 N2 x3547 y1059 X567 Y689
c n1 N2 x4194.5 y1090 X1487 Y974
c n2 N1 x2132 y1175 X4815 Y1122
c n1 N2 x3278 y1242 X79 Y811
c n2 N1 x226 y1065 X3355 Y1401
c n2 N1 x245 y1973 X3363.5 Y2062.5
c n1 N2 x3473.5 y3053.5 X443 Y3292
c n1 N2 x3418 y3750 X344 Y4247
c n1 N2 x3765 y4481.5 X912 Y4960
c n1 N2 x4064 y3859.5 X1333 Y4055
c n1 N2 x6090 y3406 X3044 Y3132
*
# ====================================================================
# Output generated by Panorama Tools
# 3580 function evalutations
# the relative error between x and the solution is at most tol
# Panorama description
p f1 w12280 h8000 v180 n"PSD_mask"
# Parameters for Each Input Image:
# (*) - optimized (p) - preset
# Image No 0:
# Yaw: -44.2772 deg (*) Pitch: -0.628632 deg (*)
# Roll: -0.742146 deg (*) HFov: 90.0765 deg (*)
# Polynomial Coefficients: a 0.000000 (p); b 0.000000 (p); c 0.000000
(p)
# Horizontal Shift: 0.000000 (p) Vertical Shift: 0.000000 (p)
# Command for Panorama Creation:
o f0 r-0.742146 p-0.628632 y-44.2772 v90.0765 u10
# Image No 1:
# Yaw: 0 deg (p) Pitch: 0 deg (p)
# Roll: 0 deg (p) HFov: 90.0059 deg (*)
# Polynomial Coefficients: a 0.000000 (p); b 0.000000 (p); c 0.000000
(p)
# Horizontal Shift: 0.000000 (p) Vertical Shift: 0.000000 (p)
# Command for Panorama Creation:
o f0 r0 p0 y0 v90.0059 u10
# Image No 2:
# Yaw: 44.8076 deg (*) Pitch: -0.169173 deg (*)
# Roll: 1.36861 deg (*) HFov: 90.2241 deg (*)
# Polynomial Coefficients: a 0.000000 (p); b 0.000000 (p); c 0.000000
(p)
# Horizontal Shift: 0.000000 (p) Vertical Shift: 0.000000 (p)
# Command for Panorama Creation:
o f0 r1.36861 p-0.169173 y44.8076 v90.2241 u10
# ====================================================================
# Control Points: Distance between desired and fitted Position (in Pixels)
# Control Point No 0: 31.9981
# Control Point No 1: 23.7784
# Control Point No 2: 30.6593
# Control Point No 3: 27.5242
# Control Point No 4: 15.8017
# Control Point No 5: 3.4295
# Control Point No 6: 37.5407
# Control Point No 7: 18.5778
# Control Point No 8: 23.8513
# Control Point No 9: 47.6988
# Control Point No 10: 18.8765
# Control Point No 11: 35.1205
# Control Point No 12: 32.5516
# Control Point No 13: 31.2314
# Control Point No 14: 32.6362
# Control Point No 15: 34.5266
# Control Point No 16: 34.298
# Control Point No 17: 42.9174
# Control Point No 18: 55.5135
# Control Point No 19: 36.081
# Control Point No 20: 35.1453
# Control Point No 21: 39.2974
# Control Point No 22: 40.7525
# Control Point No 23: 52.7155
# Control Point No 24: 54.1421
# Control Point No 25: 26.1015
# Control Point No 26: 71.8733
C i0 x4838.66 y2078.85 X4847.67 Y2065.63
C i1 x4856.68 y2052.41 X4847.67 Y2065.63
C i1 x4442.69 y2169.42 X4432.95 Y2176.24
C i0 x4423.21 y2183.05 X4432.95 Y2176.24
C i0 x4776.36 y2240.29 X4784.37 Y2227.22
C i1 x4792.38 y2214.15 X4784.37 Y2227.22
C i1 x4658.77 y2342.15 X4651.1 Y2353.58
C i0 x4643.44 y2365.01 X4651.1 Y2353.58
C i0 x4467.21 y2543.21 X4472.85 Y2537.67
C i1 x4478.49 y2532.13 X4472.85 Y2537.67
C i0 x4239.84 y3298.85 X4238.49 Y3297.79
C i1 x4237.14 y3296.74 X4238.49 Y3297.79
C i1 x4932.62 y2886.77 X4929.85 Y2905.33
C i0 x4927.09 y2923.9 X4929.85 Y2905.33
C i1 x4079.95 y2237.2 X4070.74 Y2235.99
C i0 x4061.54 y2234.77 X4070.74 Y2235.99
C i0 x3727.97 y2296.97 X3734.59 Y2306.89
C i1 x3741.2 y2316.81 X3734.59 Y2306.89
C i0 x3137.01 y2438.9 X3139.44 Y2462.63
C i1 x3141.88 y2486.35 X3139.44 Y2462.63
C i0 x4195.83 y4329.78 X4186.66 Y4327.56
C i1 x4177.49 y4325.33 X4186.66 Y4327.56
C i0 x4328.87 y5403.78 X4313.32 Y5395.62
C i1 x4297.78 y5387.46 X4313.32 Y5395.62
C i0 x3762.41 y5309.56 X3747.39 Y5315.83
C i1 x3732.37 y5322.1 X3747.39 Y5315.83
C i0 x3584.46 y4287.41 X3576.79 Y4301.01
C i1 x3569.13 y4314.62 X3576.79 Y4301.01
C i1 x6147.32 y2196.44 X6158.96 Y2207.87
C i2 x6170.61 y2219.3 X6158.96 Y2207.87
C i2 x6182.21 y2124.79 X6168.98 Y2113.71
C i1 x6155.74 y2102.63 X6168.98 Y2113.71
C i1 x6496.35 y2166.81 X6512.27 Y2173.2
C i2 x6528.18 y2179.59 X6512.27 Y2173.2
C i1 x7245.68 y2268.16 X7266.05 Y2261.4
C i2 x7286.41 y2254.64 X7266.05 Y2261.4
C i2 x7935.35 y2372.39 X7914.83 Y2391.08
C i1 x7894.32 y2409.78 X7914.83 Y2391.08
C i1 x6173.78 y2379.33 X6185.49 Y2393.06
C i2 x6197.2 y2406.78 X6185.49 Y2393.06
C i2 x6286.67 y2599.95 X6276.51 Y2585.61
C i1 x6266.36 y2571.27 X6276.51 Y2585.61
C i2 x6283.3 y3405.31 X6279.94 Y3385.95
C i1 x6276.57 y3366.59 X6279.94 Y3385.95
C i1 x6408.51 y4556.9 X6400.39 Y4575.58
C i2 x6392.26 y4594.27 X6400.39 Y4575.58
C i1 x6342 y5394.13 X6325.28 Y5414.51
C i2 x6308.57 y5434.89 X6325.28 Y5414.51
C i1 x6754.44 y6247.77 X6729.08 Y6257.24
C i2 x6703.72 y6266.71 X6729.08 Y6257.24
C i1 x7099.44 y5481.86 X7086.68 Y5484.6
C i2 x7073.92 y5487.34 X7086.68 Y5484.6
C i1 x8947.28 y4739.41 X8939.99 Y4704.22
C i2 x8932.7 y4669.03 X8939.99 Y4704.22