Difference between revisions of "PTOptimizer"

From PanoTools.org Wiki
Jump to: navigation, search
(sectioned)
(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].
<pre>
+
#############          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
</pre>
+
 
=== p-line options ===
 
=== p-line options ===
<pre>
+
# '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
</pre>
+
 
 
=== i-lines ===
 
=== i-lines ===
<pre>
+
# 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.fh-furtwangen.de/~dersch/barrel/barrel.html)
+
# 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  
</pre>
+
 
=== v-line options ===
 
=== v-line options ===
<pre>
+
# '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
</pre>
+
 
=== m-line options ===
 
=== m-line options ===
<pre>
+
# '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.fh-furtwangen.de/~dersch/gamma/gamma.html>
+
# i2          Set interpolator, See <http://www.panotools.org/dersch/interpolator/interpolator.html>
# i2          Set interpolator, See <http://www.fh-furtwangen.de/~dersch/interpolator/interpolator.html>
+
#                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
</pre>
+
 
=== c-lines ===
 
=== c-lines ===
<pre>
+
#
#
+
# '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.
</pre>
+
  
 
[[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.

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.