xfproduct(1) General Commands Manual 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 multi-
ply 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 pro-
gram 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.
Either or both input files can contain warping transformations instead
of simple linear transforms. The transforms can be either displace-
ments at a set of control points or displacements on a regular grid of
positions. If two warping files are multiplied, the output will con-
sist of grids of displacements regardless of the type of input. If one
file is a warping file and the other has linear transforms, then the
output will have the same type of displacements as the warping input
file.
Warping transform files contain information about the pixel size and
number of pixels of the images for which they were obtained. When both
input files have warping transforms, they must be for images of the
same total size (the product of pixel size and pixel number must
match). If the pixel sizes differ, the transforms from the first file
will be scaled to match that of the second one. If you enter the
-scale option, it overrides this default scaling but is not allowed to
change the relative scaling between the two files. Since an entry is
not needed, since Newstack and Blendmont will compensate for a
difference between the pixel size in the warping file and the pixel
size of the images being transformed. However, a -scale entry might be
needed if one file has linear transforms and the other has warping
transforms.
OPTIONS
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 -). Options can be abbreviated to unique letters;
the currently valid abbreviations for short names are shown in paren-
theses.
-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 (-ou) 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 out-
put file.
-scale (-s) OR -ScaleShifts Two floats
Factors by which to scale X/Y translations of the first and sec-
ond 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.
-one (-on) OR -OneXformToMultiply Integer
When one file has multiple transforms and the other has a single
transform, use this entry to have only one transform in the file
of multiple transforms be multiplied by the single transform.
Transforms are numbered from zero. This entry has no effect if
both files have multiple transforms.
-help (-h) 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
Added support for warping transforms, June 2011
BUGS
Email bug reports to mast at colorado dot edu.
IMOD 5.2.0 xfproduct(1)