The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ptosort - sort pto files with variable criteria

SYNOPSIS

ptosort [options] infile.pto outfile.pto

 Options:
  -p | --point order    Provide a sorting order for control points
  -i | --image order    Provide a sorting order for images
  -c | --clean yes/no   Switch removal of duplicate control points
                        on/off, default is on
  -h | --help           Show the full manpage

DESCRIPTION

ptosort takes a pto file as input, sorts it and writes a sorted pto file as output. By default images are sorted according to their filename and control points are sorted by left image number, right image number and y pixel coordinate.

The --point and --image command line options can be used to modify the sorting order. The order string should consist of a list letters separated by commas identifying the values to be taken for the comparison, e.g. for images y means yaw or r means roll. By default sorting for yaw (y), pitch (p), roll (r) and exposure (Eev) is fuzzy, i.e. values within an interval of 10 degress for yaw are considered to be the same. This is especially useful when sorting multirow panoramas. Appending a colon to the sort parameter forces strict sorting without fuzziness, while appending a tilde and a numerical value can be used to specify the fuzziness in terms of intervall width.

EXAMPLES

ptosort --image n --point n,N,y in.pto out.pto

Sort the images by filename and the control points by left image number, right image number and y pixel coordinate. This is identical to the default behaviour without options.

ptosort --image y in.pto out.pto

Sort images by yaw and control points using the default.

ptosort --image y,p,Eev in.pto out.pto

Sort images in a multiraw panorama by position and exposure value.

ptosort --image Eev:,y~5.5,p in.pto out.pto

Sort strict without fuzziness by exposure value, with a fuzziness interval of 5.5 degree by yaw and by pitch.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

AUTHOR

Felix Hagemann, July 2008