Difference between revisions of "PTOptimizer"
Jump to navigation
Jump to search
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 09: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.
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.