Difference between revisions of "PTOptimizer"
From PanoTools.org Wiki
Erik Krause (talk | contribs) (sectioned) |
Erik Krause (talk | contribs) (Pointed to new mirror) |
||
Line 5: | Line 5: | ||
== Example Script == | == Example Script == | ||
The updated original example script with lots of comments is below. Copied from [http://photocreations.ca/panotools/Optimize.txt Jim Watters' page]. | The updated original example script with lots of comments is below. Copied from [http://photocreations.ca/panotools/Optimize.txt Jim Watters' page]. | ||
− | + | ############# Example Script ########################## | |
− | ############# Example Script ########################## | + | # to run PTOptimizer |
− | # to run PTOptimizer | + | # |
− | # | + | # |
− | # | + | # Only lines starting with 'p', 'v', 'i', or 'm' are read. |
− | # Only lines starting with 'p', 'v', 'i', or 'm' are read. | + | # So you can add comments and info as you like by using |
− | # So you can add comments and info as you like by using | + | # other line starting characters. |
− | # other line starting characters. | + | # Do not start a line with !, it is used by adjust plugin and scripts. |
− | # Do not start a line with !, it is used by adjust plugin and scripts. | + | # the * character indicated the end of the script file. |
− | # the * character indicated the end of the script file. | ||
− | # The script must contain: | + | # The script must contain: |
− | # one 'p'- line describing the output image (eg Panorama) | + | # one 'p'- line describing the output image (eg Panorama) |
− | # one 'i'-line for each input image | + | # one 'i'-line for each input image |
− | # one or several 'v'- lines listing the variables to be optimized. | + | # one or several 'v'- lines listing the variables to be optimized. |
− | # the 'm'-line is optional and allows you to specify modes for the optimization. | + | # the 'm'-line is optional and allows you to specify modes for the optimization. |
− | # one 'c'-line for each pair of control points | + | # one 'c'-line for each pair of control points |
− | |||
=== p-line options === | === p-line options === | ||
− | + | # 'p'-line options | |
− | # 'p'-line options | + | # w1000 width in pixels |
− | # w1000 width in pixels | + | # h600 height in pixels (default: width/2) |
− | # h600 height in pixels (default: width/2) | + | # f0 projection format, |
− | # f0 projection format, | + | # 0 - rectilinear (for printing and viewing) |
− | # 0 - rectilinear (for printing and viewing) | + | # 1 - Cylindrical (for Printing and QTVR) |
− | # 1 - Cylindrical (for Printing and QTVR) | + | # 2 - Equirectangular ( for Spherical panos), default |
− | # 2 - Equirectangular ( for Spherical panos), default | + | # 3 - full-frame fisheye |
− | # 3 - full-frame fisheye | + | # v360 horizontal field of view of panorama (default 360) |
− | # v360 horizontal field of view of panorama (default 360) | + | # nPICT Panorama file format, one of: |
− | # nPICT Panorama file format, one of: | + | # PICT pict-file on macs, bmp-file on win (default) |
− | # PICT pict-file on macs, bmp-file on win (default) | + | # PSD single layer Photoshop file, 48bits supported |
− | # PSD single layer Photoshop file, 48bits supported | + | # PNG png-format, 48bits supported |
− | # PNG png-format, 48bits supported | + | # TIFF tiff-format, 48bits supported |
− | # TIFF tiff-format, 48bits supported | + | # PSD_mask Photoshop file, one image per layer |
− | # PSD_mask Photoshop file, one image per layer | + | # + shape mask & feathered clip mask at overlap center |
− | # + shape mask & feathered clip mask at overlap center | + | # PSD_nomask Photoshop file, one image per layer, |
− | # PSD_nomask Photoshop file, one image per layer, | + | # TIFF_mask tiff-format, multi-file, one image per file, 48bit supported |
− | # TIFF_mask tiff-format, multi-file, one image per file, 48bit supported | + | # alpha layer with feathered clip mask at overlap center |
− | # alpha layer with feathered clip mask at overlap center | + | # TIFF_m tiff-format, multi-file, one image per file, 48bit supported |
− | # TIFF_m tiff-format, multi-file, one image per file, 48bit supported | + | # alpha layer with non-feathered clip mask at image border |
− | # alpha layer with non-feathered clip mask at image border | + | # + shape mask & non-feathered clip mask at image border |
− | # + shape mask & non-feathered clip mask at image border | + | # JPEG Panoramic image in jpeg-format. Use with f1 |
− | # JPEG Panoramic image in jpeg-format. Use with f1 | + | # for IBM Hotmedia panoramas. |
− | # for IBM Hotmedia panoramas. | + | # PAN SmoothMove movie. Use only with f2. |
− | # PAN SmoothMove movie. Use only with f2. | + | # IVR LivePicture IVR movie |
− | # IVR LivePicture IVR movie | + | # cylindrical (format f1) or spherical (format f2) |
− | # cylindrical (format f1) or spherical (format f2) | + | # IVR_java LivePicture Java Panorama, |
− | # IVR_java LivePicture Java Panorama, | + | # cylindrical (format f1) or spherical (format f2) |
− | # cylindrical (format f1) or spherical (format f2) | + | # VRML VRML background node, use only with f2 for panoramas, or |
− | # VRML VRML background node, use only with f2 for panoramas, or | + | # VRML-object for PTStereo |
− | # VRML-object for PTStereo | + | # QTVR Apple QTVR-panomovie. Use only with f1 |
− | # QTVR Apple QTVR-panomovie. Use only with f1 | + | # 3DMF 3DMF-object (PTStereo). |
− | # 3DMF 3DMF-object (PTStereo). | + | # n"QTVR w400 h300 c1" additional viewer options in a quoted string together with format |
− | # n"QTVR w400 h300 c1" additional viewer options in a quoted string together with format | + | # the following options are recognized: |
− | # the following options are recognized: | + | # w(width) and h(height) of viewer window (only QTVR on Macs) |
− | # w(width) and h(height) of viewer window (only QTVR on Macs) | + | # c(codec: 0-JPEG, 1-Cinepak, 2-Sorenson) (only QTVR on Macs) |
− | # c(codec: 0-JPEG, 1-Cinepak, 2-Sorenson) (only QTVR on Macs) | + | # q(codec quality): |
− | # q(codec quality): | + | # 0-high,1-normal,2-low QTVR on Macs |
− | # 0-high,1-normal,2-low QTVR on Macs | + | # 0-100(highest) on other jpeg-formats (PAN, IVR, IVR_java, VRML) |
− | # 0-100(highest) on other jpeg-formats (PAN, IVR, IVR_java, VRML) | + | # g progressive jpeg (0-no, 1-yes) (PAN, IVR, IVR_java, VRML) |
− | # g progressive jpeg (0-no, 1-yes) (PAN, IVR, IVR_java, VRML) | + | # Optimized JPEG (0-on(default), 2-disabled), (3-progressive with optimized disabled) |
− | # Optimized JPEG (0-on(default), 2-disabled), (3-progressive with optimized disabled) | + | # p initial pan angle ( QTVR on Macs, VRML, IVR) |
− | # p initial pan angle ( QTVR on Macs, VRML, IVR) | + | # v field of view (QTVR, VRML, IVR) |
− | # v field of view (QTVR, VRML, IVR) | + | # Many more options can be set by editing the viewer scripts |
− | # Many more options can be set by editing the viewer scripts | + | # -buf suppress buffer commands in the stitcher script generated by PTOptimizer. |
− | # -buf suppress buffer commands in the stitcher script generated by PTOptimizer. | + | # (buffer commands are now obsolete, -buf and +buf on i lines are now |
− | # (buffer commands are now obsolete, -buf and +buf on i lines are now | + | # ignored when stitching) This option should be set if you wish |
− | # ignored when stitching) This option should be set if you wish | + | # to edit the final panoramic image, eg for the two PSD formats. |
− | # to edit the final panoramic image, eg for the two PSD formats. | + | # a0.0 b1.0 c0.04 Options to create multiple images in PTInterpolate and PTMorpher. |
− | # a0.0 b1.0 c0.04 Options to create multiple images in PTInterpolate and PTMorpher. | + | # a denotes starting value, |
− | # a denotes starting value, | + | # b end value |
− | # b end value | + | # c increment. 0 is left, 1 is right image. |
− | # c increment. 0 is left, 1 is right image. | + | # The above command interpolates/morphs two images and |
− | # The above command interpolates/morphs two images and | + | # creates 25 intermediate frames. |
− | # creates 25 intermediate frames. | + | # u10 width of feather for stitching all images. default:10 |
− | # u10 width of feather for stitching all images. default:10 | + | # k1 attempt color & brightness correction using image number as anchor |
− | # k1 attempt color & brightness correction using image number as anchor | + | # b1 attempt brightness correction with no color change using image number as anchor |
− | # b1 attempt brightness correction with no color change using image number as anchor | + | # d1 attempt color correction with no brightness change using image number as anchor |
− | # d1 attempt color correction with no brightness change using image number as anchor | + | # Do not use more than one of k, d, b.This is new method of correcting |
− | # Do not use more than one of k, d, b.This is new method of correcting | ||
− | p w800 nPSD_mask -buf | + | p w800 nPSD_mask -buf |
− | + | ||
=== i-lines === | === i-lines === | ||
− | + | # The 'i' lines describe input images. One line per image is required | |
− | # The 'i' lines describe input images. One line per image is required | + | # unneeded paramiters for optimizing but needed for stitching can be |
− | # unneeded paramiters for optimizing but needed for stitching can be | + | # set here and the optimizer will automaticaly add them to the o lines |
− | # set here and the optimizer will automaticaly add them to the o lines | + | # ---------------- |
− | # ---------------- | + | # f0 projection format, |
− | # f0 projection format, | + | # 0 - rectilinear (normal lenses) |
− | # 0 - rectilinear (normal lenses) | + | # 1 - Panoramic (Scanning cameras like Noblex) |
− | # 1 - Panoramic (Scanning cameras like Noblex) | + | # 2 - Circular fisheye |
− | # 2 - Circular fisheye | + | # 3 - full-frame fisheye |
− | # 3 - full-frame fisheye | + | # 4 - PSphere (equirectangular) |
− | # 4 - PSphere (equirectangular) | + | # 8 - Orthographic. This is only allowed in PTStereo and |
− | # 8 - Orthographic. This is only allowed in PTStereo and | + | # for the first image. This indicates a map or ground plan. |
− | # for the first image. This indicates a map or ground plan. | + | # w600 width in pixels |
− | # w600 width in pixels | + | # h1000 height in pixels |
− | # h1000 height in pixels | + | # v82 horizontal field of view of image (required, but ignored for f8) |
− | # v82 horizontal field of view of image (required, but ignored for f8) | + | # y0 initial yaw angle (required) |
− | # y0 initial yaw angle (required) | + | # p43 initial pitch angle (required) |
− | # p43 initial pitch angle (required) | + | # r0 initial roll angle (required) |
− | # r0 initial roll angle (required) | + | # a,b,c initial lens correction coefficients (defaults a0 b0 c0, optional) |
− | # a,b,c initial lens correction coefficients (defaults a0 b0 c0, optional) | + | # (see http://www.panotools.org/dersch/barrel/barrel.html) |
− | # (see http://www. | + | # d,e initial lens offset in pixels(defaults d0 e0, optional). |
− | # d,e initial lens offset in pixels(defaults d0 e0, optional). | + | # Used to correct for offset from center of image |
− | # Used to correct for offset from center of image | + | # d - horizontal offset, |
− | # d - horizontal offset, | + | # e - vertical offset |
− | # e - vertical offset | + | # g,t initial lens shear. Use to remove slight misalignment |
− | # g,t initial lens shear. Use to remove slight misalignment | + | # of the line scanner relative to the film transport |
− | # of the line scanner relative to the film transport | + | # g - horizontal shear |
− | # g - horizontal shear | + | # t - vertical shear |
− | # t - vertical shear | + | # u10 (obsolete, globally used on p line) specify width of feather for stitching. default:10 |
− | # u10 (obsolete, globally used on p line) specify width of feather for stitching. default:10 | + | # S100,600,100,800 Selection(l,r,t,b), Only pixels inside the rectangle will be used for conversion. |
− | # S100,600,100,800 Selection(l,r,t,b), Only pixels inside the rectangle will be used for conversion. | + | # Original image size is used for all image parameters |
− | # Original image size is used for all image parameters | + | # (e.g. field-of-view) refer to the original image. |
− | # (e.g. field-of-view) refer to the original image. | + | # C100,600,100,800 Crop(l,r,t,b), Only pixels inside the rectangle will be used for conversion. |
− | # C100,600,100,800 Crop(l,r,t,b), Only pixels inside the rectangle will be used for conversion. | + | # Cropped image size is used for all image parameters |
− | # Cropped image size is used for all image parameters | + | # (e.g. field-of-view) refer to the cropped part of the image. |
− | # (e.g. field-of-view) refer to the cropped part of the image. | + | # m20 (obsolete, use S & C) ignore a frame 20 pixels wide. default: 0 |
− | # m20 (obsolete, use S & C) ignore a frame 20 pixels wide. default: 0 | + | # mx100 (obsolete, use S & C) crop to brightest rectangle with size 100x200; |
− | # mx100 (obsolete, use S & C) crop to brightest rectangle with size 100x200; | + | # my200 (obsolete, use S & C) used only for circular fisheye images (f2) |
− | # my200 (obsolete, use S & C) used only for circular fisheye images (f2) | + | # s0 (obsolete, ignored, always blend) specify placement of seam between buffer and image: |
− | # s0 (obsolete, ignored, always blend) specify placement of seam between buffer and image: | + | # 0-middle of overlap('blend' ,default) |
− | # 0-middle of overlap('blend' ,default) | + | # 1- at edge of image ('paste'). |
− | # 1- at edge of image ('paste'). | + | # o (the small letter). Morph-to-fit using control points. |
− | # o (the small letter). Morph-to-fit using control points. | + | # k0 (obsolete, use p line correction still used with plugin) |
− | # k0 (obsolete, use p line correction still used with plugin) | + | # attempt color/brightness correction when merging image and buffer, one of: |
− | # attempt color/brightness correction when merging image and buffer, one of: | + | # 0 - no correction(default); |
− | # 0 - no correction(default); | + | # 1 - change image; |
− | # 1 - change image; | + | # 2 - change buffer; |
− | # 2 - change buffer; | + | # 3 - change both |
− | # 3 - change both | + | # this feature does not work very well! |
− | # this feature does not work very well! | + | # X10 World coordinates of camera position, only used for PTStereo |
− | # X10 World coordinates of camera position, only used for PTStereo | + | # Y200 If the camera is aligned (yaw = pitch = roll = 0.0), |
− | # Y200 If the camera is aligned (yaw = pitch = roll = 0.0), | + | # Z-13.5 X is coordinate to the right, Y vertically up and |
− | # Z-13.5 X is coordinate to the right, Y vertically up and | + | # -Z is forward viewing direction. |
− | # -Z is forward viewing direction. | + | # nName Name of image (ignored by PTOptimizer used in PTStitcher) |
− | # nName Name of image (ignored by PTOptimizer used in PTStitcher) | + | # |
− | # | + | # Parameters in different images can be linked using '=' |
− | # Parameters in different images can be linked using '=' | + | # followed by the image number starting with 0. |
− | # followed by the image number starting with 0. | + | # Example 'v=0' sets horizontal field of view as in |
− | # Example 'v=0' sets horizontal field of view as in | + | # image number 0. This feature works for the variables |
− | # image number 0. This feature works for the variables | + | # v, a, b, c, (r, p, y with caution) d, e, g, and t |
− | # v, a, b, c, (r, p, y with caution) d, e, g, and t | ||
− | i f2 r0 p0 y0 v183 a0 b-0.1 c0 mx400 my400 | + | i f2 r0 p0 y0 v183 a0 b-0.1 c0 mx400 my400 |
− | i f2 r-0.5 p1 y182 v=0 a0 b-0.1 c0 mx400 my400 | + | i f2 r-0.5 p1 y182 v=0 a0 b-0.1 c0 mx400 my400 |
− | |||
=== v-line options === | === v-line options === | ||
− | + | # 'v'-line options: | |
− | # 'v'-line options: | + | # ----------------- |
− | # ----------------- | + | # Please note: the 'v'-line must come after the the 'i'-lines. |
− | # Please note: the 'v'-line must come after the the 'i'-lines. | + | # Optimization variables are listed together with the image number |
− | # Optimization variables are listed together with the image number | + | # starting at 0. There can be several v-lines. |
− | # starting at 0. There can be several v-lines. | + | # |
− | # | + | # y0 Optimize yaw in image 0 |
− | # y0 Optimize yaw in image 0 | + | # p1 Optimize pitch in image 1 |
− | # p1 Optimize pitch in image 1 | + | # r2 Optimize roll in image 2 |
− | # r2 Optimize roll in image 2 | + | # v0 Optimize field of view in image 0 |
− | # v0 Optimize field of view in image 0 | + | # a2 Optimize lens correction parameter 'a' in image 2 |
− | # a2 Optimize lens correction parameter 'a' in image 2 | + | # b and c can be equally optimized. |
− | # b and c can be equally optimized. | + | # X1 Optimize x-coordinate of image 1, only for PTStereo |
− | # X1 Optimize x-coordinate of image 1, only for PTStereo | + | # Y2 Optimize y-coordinate of image 2, only for PTStereo |
− | # Y2 Optimize y-coordinate of image 2, only for PTStereo | + | # Z6 Optimize z-coordinate of image 6, only for PTStereo |
− | # Z6 Optimize z-coordinate of image 6, only for PTStereo | + | # |
− | # | + | # If a image has a parameter linked to another image only |
− | # If a image has a parameter linked to another image only | + | # need to optimize the master. |
− | # need to optimize the master. | ||
− | v v0 r0 p0 r1 p1 y1 | + | v v0 r0 p0 r1 p1 y1 |
− | |||
=== m-line options === | === m-line options === | ||
− | + | # 'm'-line options | |
− | # 'm'-line options | + | # ---------------- |
− | # ---------------- | + | # Set mode for stitcher, not required |
− | # Set mode for stitcher, not required | + | # |
− | # | + | # g2.5 Set gamma value for internal computations (default 1.0) |
− | # g2.5 Set gamma value for internal computations (default 1.0) | + | # See <http://www.panotools.org/dersch/gamma/gamma.html> |
− | # See <http://www. | + | # i2 Set interpolator, See <http://www.panotools.org/dersch/interpolator/interpolator.html> |
− | # i2 Set interpolator, See <http://www. | + | # one of: |
− | # one of: | + | # 0 - poly3 (default) |
− | # 0 - poly3 (default) | + | # 1 - spline16, |
− | # 1 - spline16, | + | # 2 - spline36, |
− | # 2 - spline36, | + | # 3 - sinc256, |
− | # 3 - sinc256, | + | # 4 - spline64, |
− | # 4 - spline64, | + | # 5 - bilinear, |
− | # 5 - bilinear, | + | # 6 - nearest neighbor, |
− | # 6 - nearest neighbor, | + | # 7 - sinc1024 |
− | # 7 - sinc1024 | + | # \/ antialiasing filters \/ See <http://www.pano2qtvr.com/dll_patch/> |
− | # \/ antialiasing filters \/ See <http://www.pano2qtvr.com/dll_patch/> | + | # 8 - Box |
− | # 8 - Box | + | # 9 - Bartlett/Triangle |
− | # 9 - Bartlett/Triangle | + | # 10 - Hermite |
− | # 10 - Hermite | + | # 11 - Hanning |
− | # 11 - Hanning | + | # 12 - Hamming |
− | # 12 - Hamming | + | # 13 - Blackmann |
− | # 13 - Blackmann | + | # 14 - Gaussian 1/sqrt(2) |
− | # 14 - Gaussian 1/sqrt(2) | + | # 15 - Gaussian 1/2 |
− | # 15 - Gaussian 1/2 | + | # 16 - Quadardic |
− | # 16 - Quadardic | + | # 17 - Cubic |
− | # 17 - Cubic | + | # 18 - Catmull-Rom |
− | # 18 - Catmull-Rom | + | # 19 - Mitchell |
− | # 19 - Mitchell | + | # 20 - Lanczos2 |
− | # 20 - Lanczos2 | + | # 21 - Lanczos3 |
− | # 21 - Lanczos3 | + | # 22 - Blackman/Bessel |
− | # 22 - Blackman/Bessel | + | # 23 - Blackman/sinc |
− | # 23 - Blackman/sinc | + | # |
− | # | + | # p0 Create panorama after optimizing control points |
− | # p0 Create panorama after optimizing control points | + | # 0 no(default), 1 yes |
− | # 0 no(default), 1 yes | ||
− | m g1.5 i6 | + | m g1.5 i6 |
− | |||
=== c-lines === | === c-lines === | ||
− | + | # | |
− | # | + | # 'c' lines |
− | # 'c' lines | + | # ---------------- |
− | # ---------------- | + | # Control point lines |
− | # Control point lines | + | # One line per point pair |
− | # One line per point pair | + | # about one pair of points per image per variable being optimized. |
− | # about one pair of points per image per variable being optimized. | + | # The more variables being optimized the more control points needed. |
− | # The more variables being optimized the more control points needed. | + | # |
− | # | + | # n0 first image |
− | # n0 first image | + | # N1 second image |
− | # N1 second image | + | # x1066.5 first image x point position |
− | # x1066.5 first image x point position | + | # y844.333 first image y point position |
− | # y844.333 first image y point position | + | # X239.52 second image x point position |
− | # X239.52 second image x point position | + | # Y804.64 second image y point position |
− | # Y804.64 second image y point position | + | # t0 type of control point (optional) |
− | # t0 type of control point (optional) | + | # 0 - normal (default) |
− | # 0 - normal (default) | + | # 1 - optimize horizontally only |
− | # 1 - optimize horizontally only | + | # 2 - optimize vertically only |
− | # 2 - optimize vertically only | + | # 3+ (all other numbers) - straight line |
− | # 3+ (all other numbers) - straight line | ||
− | * | + | * |
− | Every thing after * is ignored. | + | Every thing after * is ignored. |
− | |||
[[Category:Software:Platform:Linux]] | [[Category:Software:Platform:Linux]] |
Latest revision as of 07:55, 22 May 2011
PTOptimizer was originally created by Helmut Dersch as part of Panorama Tools, it is a simple wrapper program around control point optimization routines present in the pano12 library.
Source code for the original PTOptimizer was never released, however reconstruction was quite straightforward and a multi-platform version is now included with the pano12 library available at Sourceforge.
Contents
Example Script
The updated original example script with lots of comments is below. Copied from Jim Watters' page.
############# Example Script ########################## # to run PTOptimizer # # # Only lines starting with 'p', 'v', 'i', or 'm' are read. # So you can add comments and info as you like by using # other line starting characters. # Do not start a line with !, it is used by adjust plugin and scripts. # the * character indicated the end of the script file.
# The script must contain: # one 'p'- line describing the output image (eg Panorama) # one 'i'-line for each input image # one or several 'v'- lines listing the variables to be optimized. # the 'm'-line is optional and allows you to specify modes for the optimization. # one 'c'-line for each pair of control points
p-line options
# 'p'-line options # w1000 width in pixels # h600 height in pixels (default: width/2) # f0 projection format, # 0 - rectilinear (for printing and viewing) # 1 - Cylindrical (for Printing and QTVR) # 2 - Equirectangular ( for Spherical panos), default # 3 - full-frame fisheye # v360 horizontal field of view of panorama (default 360) # nPICT Panorama file format, one of: # PICT pict-file on macs, bmp-file on win (default) # PSD single layer Photoshop file, 48bits supported # PNG png-format, 48bits supported # TIFF tiff-format, 48bits supported # PSD_mask Photoshop file, one image per layer # + shape mask & feathered clip mask at overlap center # PSD_nomask Photoshop file, one image per layer, # TIFF_mask tiff-format, multi-file, one image per file, 48bit supported # alpha layer with feathered clip mask at overlap center # TIFF_m tiff-format, multi-file, one image per file, 48bit supported # alpha layer with non-feathered clip mask at image border # + shape mask & non-feathered clip mask at image border # JPEG Panoramic image in jpeg-format. Use with f1 # for IBM Hotmedia panoramas. # PAN SmoothMove movie. Use only with f2. # IVR LivePicture IVR movie # cylindrical (format f1) or spherical (format f2) # IVR_java LivePicture Java Panorama, # cylindrical (format f1) or spherical (format f2) # VRML VRML background node, use only with f2 for panoramas, or # VRML-object for PTStereo # QTVR Apple QTVR-panomovie. Use only with f1 # 3DMF 3DMF-object (PTStereo). # n"QTVR w400 h300 c1" additional viewer options in a quoted string together with format # the following options are recognized: # w(width) and h(height) of viewer window (only QTVR on Macs) # c(codec: 0-JPEG, 1-Cinepak, 2-Sorenson) (only QTVR on Macs) # q(codec quality): # 0-high,1-normal,2-low QTVR on Macs # 0-100(highest) on other jpeg-formats (PAN, IVR, IVR_java, VRML) # g progressive jpeg (0-no, 1-yes) (PAN, IVR, IVR_java, VRML) # Optimized JPEG (0-on(default), 2-disabled), (3-progressive with optimized disabled) # p initial pan angle ( QTVR on Macs, VRML, IVR) # v field of view (QTVR, VRML, IVR) # Many more options can be set by editing the viewer scripts # -buf suppress buffer commands in the stitcher script generated by PTOptimizer. # (buffer commands are now obsolete, -buf and +buf on i lines are now # ignored when stitching) This option should be set if you wish # to edit the final panoramic image, eg for the two PSD formats. # a0.0 b1.0 c0.04 Options to create multiple images in PTInterpolate and PTMorpher. # a denotes starting value, # b end value # c increment. 0 is left, 1 is right image. # The above command interpolates/morphs two images and # creates 25 intermediate frames. # u10 width of feather for stitching all images. default:10 # k1 attempt color & brightness correction using image number as anchor # b1 attempt brightness correction with no color change using image number as anchor # d1 attempt color correction with no brightness change using image number as anchor # Do not use more than one of k, d, b.This is new method of correcting
p w800 nPSD_mask -buf
i-lines
# The 'i' lines describe input images. One line per image is required # unneeded paramiters for optimizing but needed for stitching can be # set here and the optimizer will automaticaly add them to the o lines # ---------------- # f0 projection format, # 0 - rectilinear (normal lenses) # 1 - Panoramic (Scanning cameras like Noblex) # 2 - Circular fisheye # 3 - full-frame fisheye # 4 - PSphere (equirectangular) # 8 - Orthographic. This is only allowed in PTStereo and # for the first image. This indicates a map or ground plan. # w600 width in pixels # h1000 height in pixels # v82 horizontal field of view of image (required, but ignored for f8) # y0 initial yaw angle (required) # p43 initial pitch angle (required) # r0 initial roll angle (required) # a,b,c initial lens correction coefficients (defaults a0 b0 c0, optional) # (see http://www.panotools.org/dersch/barrel/barrel.html) # d,e initial lens offset in pixels(defaults d0 e0, optional). # Used to correct for offset from center of image # d - horizontal offset, # e - vertical offset # g,t initial lens shear. Use to remove slight misalignment # of the line scanner relative to the film transport # g - horizontal shear # t - vertical shear # u10 (obsolete, globally used on p line) specify width of feather for stitching. default:10 # S100,600,100,800 Selection(l,r,t,b), Only pixels inside the rectangle will be used for conversion. # Original image size is used for all image parameters # (e.g. field-of-view) refer to the original image. # C100,600,100,800 Crop(l,r,t,b), Only pixels inside the rectangle will be used for conversion. # Cropped image size is used for all image parameters # (e.g. field-of-view) refer to the cropped part of the image. # m20 (obsolete, use S & C) ignore a frame 20 pixels wide. default: 0 # mx100 (obsolete, use S & C) crop to brightest rectangle with size 100x200; # my200 (obsolete, use S & C) used only for circular fisheye images (f2) # s0 (obsolete, ignored, always blend) specify placement of seam between buffer and image: # 0-middle of overlap('blend' ,default) # 1- at edge of image ('paste'). # o (the small letter). Morph-to-fit using control points. # k0 (obsolete, use p line correction still used with plugin) # attempt color/brightness correction when merging image and buffer, one of: # 0 - no correction(default); # 1 - change image; # 2 - change buffer; # 3 - change both # this feature does not work very well! # X10 World coordinates of camera position, only used for PTStereo # Y200 If the camera is aligned (yaw = pitch = roll = 0.0), # Z-13.5 X is coordinate to the right, Y vertically up and # -Z is forward viewing direction. # nName Name of image (ignored by PTOptimizer used in PTStitcher) # # Parameters in different images can be linked using '=' # followed by the image number starting with 0. # Example 'v=0' sets horizontal field of view as in # image number 0. This feature works for the variables # v, a, b, c, (r, p, y with caution) d, e, g, and t
i f2 r0 p0 y0 v183 a0 b-0.1 c0 mx400 my400 i f2 r-0.5 p1 y182 v=0 a0 b-0.1 c0 mx400 my400
v-line options
# 'v'-line options: # ----------------- # Please note: the 'v'-line must come after the the 'i'-lines. # Optimization variables are listed together with the image number # starting at 0. There can be several v-lines. # # y0 Optimize yaw in image 0 # p1 Optimize pitch in image 1 # r2 Optimize roll in image 2 # v0 Optimize field of view in image 0 # a2 Optimize lens correction parameter 'a' in image 2 # b and c can be equally optimized. # X1 Optimize x-coordinate of image 1, only for PTStereo # Y2 Optimize y-coordinate of image 2, only for PTStereo # Z6 Optimize z-coordinate of image 6, only for PTStereo # # If a image has a parameter linked to another image only # need to optimize the master.
v v0 r0 p0 r1 p1 y1
m-line options
# 'm'-line options # ---------------- # Set mode for stitcher, not required # # g2.5 Set gamma value for internal computations (default 1.0) # See <http://www.panotools.org/dersch/gamma/gamma.html> # i2 Set interpolator, See <http://www.panotools.org/dersch/interpolator/interpolator.html> # one of: # 0 - poly3 (default) # 1 - spline16, # 2 - spline36, # 3 - sinc256, # 4 - spline64, # 5 - bilinear, # 6 - nearest neighbor, # 7 - sinc1024 # \/ antialiasing filters \/ See <http://www.pano2qtvr.com/dll_patch/> # 8 - Box # 9 - Bartlett/Triangle # 10 - Hermite # 11 - Hanning # 12 - Hamming # 13 - Blackmann # 14 - Gaussian 1/sqrt(2) # 15 - Gaussian 1/2 # 16 - Quadardic # 17 - Cubic # 18 - Catmull-Rom # 19 - Mitchell # 20 - Lanczos2 # 21 - Lanczos3 # 22 - Blackman/Bessel # 23 - Blackman/sinc # # p0 Create panorama after optimizing control points # 0 no(default), 1 yes
m g1.5 i6
c-lines
# # 'c' lines # ---------------- # Control point lines # One line per point pair # about one pair of points per image per variable being optimized. # The more variables being optimized the more control points needed. # # n0 first image # N1 second image # x1066.5 first image x point position # y844.333 first image y point position # X239.52 second image x point position # Y804.64 second image y point position # t0 type of control point (optional) # 0 - normal (default) # 1 - optimize horizontally only # 2 - optimize vertically only # 3+ (all other numbers) - straight line
* Every thing after * is ignored.