Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells

XFPRODUCT(1)							   XFPRODUCT(1)

NAME
	xfproduct - forms product of two lists of transformations

SYNOPSIS
	xfproduct [options] input_file1 input_file2 output_file

DESCRIPTION
  Xfproduct  is used to concatenate two lists of transforms, or to
  multiply all of the transforms in one file by another transform.

  In the first case, for each line in the input files, it multiplies
  the transform in the first input file by the transform in the second
  file, and writes the product in the output file.  This can thus be
  used to implement two stage alignment: If the first set of
  transforms were obtained by a first stage of aligning raw images,
  and the second set are obtained by a second stage of alignment
  applied to images that have been aligned by the first set, then the
  products produced by this program can be applied to the raw images,
  in one step, to produce an alignment that incorporates both stages.
  
  To multiply all of the transforms in one file by a single transform,
  make the latter transform be the only one in a file.  The file with
  the single transform can be either the first or the second file.

  If transforms in the two files apply to images at different scales,
  then it is necessary to scale the X/Y translations of one of them to
  make the two sets of transforms correspond.  For example, if the first
  set of transforms align unbinned images, but the second set refines
  the alignment for images binned by 2, then the option "-scale 1,2"
  would be needed to make transforms to align the original unbinned
  images.

  The easiest way to run the program is on the command line, as shown in
  the synopsis.  Xfproduct uses the PIP package for input (see the
  manual page for pip). Thus, the following options can be specified
  either as command line arguments (with the -) or one per line in a
  command file (without the -):

 -scale OR -ScaleShifts   Two floats
    Factors by which to scale X/Y translations of the first and second
    transforms before multiplying them.  Use this option if a set of
    transforms is derived from data that were scaled down (e.g., from a model
    on binned images), so that the product transforms will apply to unscaled
    data.

 -in1 OR -InputFile1   File name
    File with transforms applied first.  If this option is not entered, the
    first non-option argument will be used for this input file.

 -in2 OR -InputFile2   File name
    File with transforms applied second.  If this option is not entered, the
    second non-option argument will be used for this input file.

 -output OR -OutputFile   File name
    Output file C for product transforms.  If this option is not entered, the
    third non-option argument will be used for the output file.

 -help OR -usage
    Print help output

  -StandardInput
     Read parameter entries from standard input.

  If the program is started with no command line arguments, it reverts to
  interactive input with the first input file, second input file, and
  output file entered on successive lines.

HISTORY
  Written by David Mastronarde, 1989
  Converted to PIP input and added scaling option, 1/25/04