Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells
XFTOXG(1) XFTOXG(1)
NAME
xftoxg - Converts transforms between sections into alignment transforms
SYNOPSIS
xftoxg [options] input_file [ouput_file]
DESCRIPTION
XFTOXG takes a list of transformations (f) from each section to
the previous one, and computes a list of xforms (g) to apply to each
section to obtain a single consistent set of alignments.
Three different modes of operation can be selected. In the first, all
sections will be transformed to a single position in the "center" of
the series. Here "position" refers to the entire set of parameters
describing the transformation, i.e. not just the x,y coordinates but
the rotation and stretch as well. This mode will remove any consistent
trends in the data stack, such as a progressive rotation, compression or
shift. This mode, sometimes referred as giving a global alignment, can be
invoked with the option "-n 0".
In the second mode, the "center" position is allowed to change progressively
over the series. For each section, the program fits polynomials to the
transformation parameters over the selected distance (centered on the given
section, if possible), and uses these polynomial fits to define the position
to which that section should be transformed. This mode will retain trends
in the data stack that occur over the range of the specified distance. This
is the default mode of operation, with linear fits over 7 adjacent
sections.
In the third mode, the "center" position is assumed to change
progressively over the whole series, based on a polynomial fit to the
series, and a transformation will be computed for each section that will
align it to a fitted shifting center position. If a polynomial order of 1
is selected, the center position will shift linearly from one end to the
other of the data stack. This mode will retain trends in the data stack
to the extent that they can be fit by the order of polynomial chosen. For
example, if order 1 is chosen, the fit is a linear one, and the resulting
transforms will retain trends that occur at a constant rate from one end
to the other.
It is also possible to do a mixed or hybrid alignment in which trends are
retained for some parameters while they are eliminated for others. Trends
will be eliminated for X and Y translations, and can optionally be
eliminated for rotations and overall size changes. The most appropriate
choice would be to eliminate trends for translations and rotations, unless
the rotation trends in the data are meaningful and should be preserved.
This hybrid method can be used with either local or global polynomial fits
(the second or third mode of operation).
Sometimes a small minority of sections are rotated at a large angle from
the rest. Including such sections in the computation of the "center"
position would skew the average rotation. In such cases, the "-range"
option can be used to exclude sections whose rotation angles fall outside
of the given range from the averaging and fitting procedures. For example,
if a range of 45 degrees is given, then the program will find the largest
group of sections whose angles span a range of 45 degrees or less, and use
only these sections to compute the global average alignment.
To do the averaging and fitting, the program converts the A matrix of the
g transforms to the "semi-natural" parameters: global rotation and
magnification, and differences between Y and X axis rotation and stretch.
This conversion allows the hybrid alignments to be done. It also means
that if input transformations involve only a restricted set of these
parameters (e.g., rotation only), this restriction will be retained in the
final g transforms.
The ability to use both the local fits and fits of order higher than 1 is
somewhat redundant. If local fitting is used, start with order 1 and go
to higher orders only if necessary.
Xftoxg uses the PIP package for input (see the manual page for pip)
and can take also input interactively to maintain compatibility with old
command files. The following options can be specified either as command
line arguments (with the -) or one per line in a command file (without the
-):
-input OR -InputFile File name
Input file with f transforms
-goutput OR -GOutputFile File name
Output file for g transforms. If an output filename is omitted and the
input filename ends in xf, the input filename will be used as output with
the last letter converted from f to g.
-nfit OR -NumberToFit Integer
Number of adjacent sections to fit, 0 for global alignment, or 1 for fit
to all sections
-ref OR -ReferenceSection Integer
Do a global alignment to the given section; this will give the reference
section a unit transform and keep it from being transformed. Sections are
numbered from 1.
-order OR -OrderOfPolynomialFit Integer
Order of the polynomial fit to the data. The default is 1 (linear fit).
-mixed OR -HybridFits Integer
Number of parameters to eliminate trends for with a hybrid alignment: 2
for translations only, 3 for rotations also, 4 for size changes also.
-range OR -RangeOfAnglesInAverage Floating point
Compute the global average center position, and the center position for
local fits, using the largest group of sections whose rotation angles fall
within the given range.
-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 following entries:
0 to align all sections to a single average central alignment, 1 to align
to an average alignment fit to a single polynomial, N > 1 to align each
section to an average alignment fit to the nearest N sections, or -1 or
-N to do a hybrid of central and shifting alignments with fits to a single
polynomial or to locally fitted polynomials
IF you entered a negative number, next enter 2 for central alignment of
translations only, 3 for central alignment of translations and rotations,
or 4 for central alignment of translations, rotations and size changes
IF you entered a nonzero number to the first query, next enter the order
of the polynomials to fit (1 for linear fits)
Name of input file of F transforms
Name of output file of G transforms
HISTORY
Written by David Mastronarde, 1988
Added hybrid method, 7/26/01
Converted to PIP input, 1/25/04