alignframes

alignframes(1) General Commands Manual alignframes(1)
NAME
 alignframes - Aligns and sums camera movie frames and stacks sums
SYNOPSIS
 alignframes options
DESCRIPTION
 Alignframes aligns frames from direct electron detectors and other cam-
 eras that can output a set of frames from an acquisition. It can take
 input from multiple frame files and produce a single stack that is
 ready to use for tilt series processing. It implements two basic
 alternatives for an initial alignment that can optionally be refined:
 aligning each frame to a reference accumulated from previously aligned
 frames; or solving for the shifts of individual images by fitting to
 shifts measured between many pairs of frames. The latter approach has
 several advantages and can be applied in various ways. The advantages
 are:
 1) It involves multiple measurements for every image and thus can
 average over more information for aligning the first few frames than
 the cumulative method can.
 2) Robust regression is used for the fitting, so a small proportion
 of bad alignments can be tolerated and should not degrade the result.
 Thus, this method should be more resistant to occasional failed corre-
 lations due to fixed pattern noise.
 3) The fitting yields an estimate of the residual error for each mea-
 surement, from which it is possible to derive an error measure that
 reflects the overall quality of the alignment and that can be used to
 compare results with different parameters.
 The fitting to shifts between pairs of frames is done for successive
 sets of frames, 7 by default. With that setting, each frame is aligned
 to all preceding frames for the first 7 frames, then the first fit is
 done and a best shift determined for the first frame. The 8th frame is
 then aligned to frames 2 through 7, and the next fit yields a shift for
 the second frame. It is possible to align every frame to every other
 one and do one fit to find all of the shifts at once, but this approach
 does not seem to give any advantage in the typical case, and the number
 of correlations can become quite large because it is proportional to
 the square of the number of frames. When pairwise fits with sets of
 more than 7 frames are indicated, another alternative strategy is to do
 pairwise fits with sets of half the frames (see below).
 The program allows one to test the quality of the fits with different
 high frequency filter cutoffs, and even with different binnings. Mul-
 tiple filters can be tested quickly in one run through the data, but
 testing multiple binnings require multiple runs through the data. As
 of IMOD 4.12.19, every fit to the pairwise shifts includes a cross-val-
 idation step: the fit is done multiple times with one or a few pairwise
 shifts omitted each time, and the solved frame shifts are used to pre-
 dict the pairwise shifts that were left out. The result is a mean
 "leave-out" error, which is a much more reliable indicator than the
 mean residual error of whether one set of fitting parameters is better
 than another. The mean residual can be misleadingly low when the ratio
 of measurements to values being solved for is too low to average out
 the random error in the values being fit.
 After the initial alignment, it is possible to realign each frame to a
 reference consisting of all other aligned frames. (For high-noise
 data, it is essential to leave the frame being aligned out of the ref-
 erence, or it would dominate the alignment.) This refinement can help
 after alignment to a cumulative reference, but has seemed superfluous
 in most tests with initial alignments from pairwise shifts.
 All frame data are maintained as Fourier transforms, so each additional
 alignment only involves one inverse FFT. Frames are shifted into
 alignment in Fourier space to avoid losses from interpolation, and they
 are reduced in size for the final sum (if at all) by cropping in
 Fourier space to avoid aliasing.
 If you want to compute a Fourier ring correlation, enter either the
 -lines option with a value of 3 or the -frc option with a filename.
 Fourier transforms of even and odd frames are summed separately and a
 Fourier ring correlation is computed. The program reports the frequen-
 cies at which the FRC crosses 0.5 and 0.25 in cycles/pixel of the
 summed images, and also reports the mean value around a frequency of
 0.25/pixel (half-Nyquist). The FRC is the only tool for comparing
 results with the cumulative alignment to those with pairwise alignment
 or for assessing the change from refining a pairwise alignment at the
 end. The FRC can also be used for validating the choice of filter or
 binning suggested by trying multiple values. However, changes in the
 FRC may generally be quite small, so it will usually be helpful to
 assess a change a parameters with a number of frame stacks. The pro-
 gram Subtractcurves can help in this assessment as described below.
 Quite strong high-frequency filtering is needed for typical frame
 alignments. The filter cutoff is entered in frequency units of the
 unbinned data so that a particular value has about the same effect at
 different binnings. The default filter (0.06/pixel) is close to what
 is typically needed, but smaller values (down to 0.05) or possibly
 larger values (up to ~0.1) may give better results. Binning (actually
 antialiased reduction in size) accomplishes most of the removal of
 high-frequency noise prior to the application of the frequency filter,
 so these two operations are partly redundant. Most of the motivation
 for binning is to speed up the alignment; however, after a certain
 point, additional binning will somewhat reduce the accuracy with which
 the correlation peak position can be measured. Thus, the program
 facilitates testing with different binnings, although such testing is
 probably only needed when getting started with a particular class of
 data, whereas testing with multiple filters is likely to be used more
 routinely.
 Alignment Strategies
 The big challenges in aligning frames are the low signal-to-noise ratio
 and interference from fixed pattern noise. There are some significant
 distinctions between tilt series and single particle data when consid-
 ering what methods to apply. First, tilt series may have a lower dose
 per frame, but they are likely to have more features in the image than
 some single-particle images, and thus more signal to align with. Sec-
 ond, there can be beam damage such as doming of the ice within a series
 of single-particle frames, which would not be apparent for a set a tilt
 series frames with a low dose per tilt image.
 One can think of a series of possible strategies for dealing with
 increasingly difficult data:
 1) When there is strong signal and no appreciable fixed pattern
 noise, the simple method of aligning to a cumulative reference of
 already aligned frames may be adequate. Here, refinement at the end
 may help if it improves the shifts for the first few frames, which were
 subject to the noisiest correlations. 2) Images with reasonable SNR
 and little fixed pattern noise should work with the default method of
 aligning all pairs among successive sets of 7 frames. 3) If the noise
 is higher or signal lower, or if there is serious fixed pattern noise,
 then pairwise alignment among much larger sets of frames will be
 needed.
 3A) For tilt series data, using all pairs of frames would generally
 be appropriate.
 3B) For single particle data, it is better to do pairwise alignment
 among half the total number of frames, to avoid correlating across
 large changes in the specimen. However, if fixed pattern noise is a
 problem, it may be necessary to use all pairs instead, so that some
 correlations with large shifts will be available for all frames.
 (Fixed pattern noise makes the correlations unreliable or inaccurate
 for small shifts; even when the filtered peak at the origin is smaller
 than the true correlation peak, it can displace the peak position if
 the two peaks overlap.)
 3C) Refinement at the end is risky if there is serious fixed pattern
 noise.
 4) If the noise is just too high for alignments between single
 frames to work, then grouping can be used. A group size of 3 can help
 considerably. Refinements can be done at the end by correlating either
 single frames or, if necessary, just the grouped frames with sums of
 other frames.
 Text Output with Single Parameter Settings
 In cases where there is one set of frames per file, output for a file
 starts with a line like
 File 1 (Feb21_10.12.15.mrc): 11 frames
 When multiple sets of frames are contained in a single input file, the
 output for each set starts with a line with "Set", such as for a fast-
 incremental single-exposure tilt series:
 Set 3 (pilY13_005.tif): 10 frames from 803 to 812 (-54.0 deg)
 When there is only one filter and binning being used, the following two
 lines present summary statistics for the results of the doing robust
 fitting to the shifts for each set of pairwise alignments. All of the
 values and distances are in unbinned pixels. The first line has these
 items:
 Weighted residual mean (abrreviated as Wgt resid mean):
 The mean residual error value, averaged over all of the fits. This
 is a weighted error, so aberrant shifts that are completely
 down-weighted are not reflected here.
 mean max: The mean value of the maximum weighted residual, averaged
 over all the fits
 max max: The maximum weighted residual seen in any of the fits
 leave-out error (abbreviated as l-o err): The mean
 leave-out error from the cross-validation fits
 The second line has these items:
 Max unweighted resid mean: The average of the maximum unweighted
 residual values seen in the fits
 max: The maximum unweighted residual seen in any fit
 Dist: Raw sum of distances from one frame position to the next
 smoothed: Sum of smoothed distances. If spline smoothing is used,
 this is the distance for the smoothed shifts that are used to sum the
 images. Otherwise, this is based on a local polynomial smoothing that
 is not very good.
 When the -lines option is entered with a 3, there is also a summary of
 the output from Fourier ring correlation. This line reports the fre-
 quencies (in cycles/pixel) at which the curve crosses below 0.5, 0.25,
 and 0.125. The last number on the line is the mean value of the curve
 around 0.25/pixel (half-Nyquist). If the sum is reduced in size, these
 frequencies are in terms of the binned pixels.
 The most important values on the first line are the weighted residual
 mean and the leave-out error. After each fit, the shift between each
 pair of images is computed from the solved shifts of the individual
 images, and the residual for that shift is the difference between the
 computed and measured values, multiplied by the weighting factor
 applied to the measurement. The leave-out errors were explained above,
 except for the fact that the error for each predicted pairwise shift is
 multiplied by the same weighting factor that was obtained for that
 shift in the solution with all data included. The means of both of
 these errors give some indication of how accurate the shifts should be,
 on average, but the leave-out error is a more reliable indicator. Good
 values for the mean residual are in the range of 0.05 to ~0.3, but some
 sets may give values in the range of 1-3. The latter cases are a sign
 that one should try analyzing a higher number of pairwise shifts or
 even try grouping. Using more pairwise shifts will generally increase
 the mean residual but will allow greater averaging over these random
 errors and thus reduce the leave-out error; grouping should improve the
 residuals and leave-out errors.
 The maximum residual values on the first line should not be many times
 larger than the mean; these values indicate that there may be a shift
 in error by that amount.
 The Max unweighted resid mean on the second line reflects how often
 there are bad shifts measured between pairs of images. With no bad
 shifts, it should be not very much bigger than the maximum weighted
 residual; values above a few pixels may indicate that there are bad
 correlations in most fits. Reducing the filter cutoff, reducing the
 maximum allowed shift, and grouping may improve this value; increasing
 the number of pairs being fit will increase the ability of the program
 to reject the bad shifts as outliers. (As long as the weighted maximum
 residuals are not high, the program is already able to reject the bad
 shifts.)
 The distance values on the second line reflect the total specimen move-
 ment, and comparison between raw and smoothed distances gives some
 indication of how jittery the solved shifts are. They become more
 important when trying different filter settings, as explained below.
 Text Output with Tests of Binning and/or Filters
 If you specify either multiple filters with the -vary option or multi-
 ple binnings with the -test option, there will be output similar to
 what was just described for each condition being tested. An initial
 line for each condition shows the binning, the filter cutoff value, and
 the sigma for the filter falloff. The latter is varied in proportion
 to the cutoff value.
 When there are multiple filters, the program will compose a "hybrid"
 solution that is based on the filter that gives the lowest leave-out
 error after each fit to a set of pairwise shifts. The set of results
 from this hybrid solution appear after the ones for the various fil-
 ters, with an initial line showing Hybrid results, bin =. This solu-
 tion is not used by default, only if the -hybrid option is given.
 After all of the results, there will be a line indicating which condi-
 tion is considered best, such as:
 File 1: Best at bin = 8 rad2 = 0.060 sig 0.009 mean res = 0.121 l-o = 0.180
 However, the selection of a best solution must be treated with caution.
 If fixed pattern noise is significant, the fit may appear to improve
 dramatically with high filter cutoffs. One sign that fixed pattern
 noise could be taking over is a substantial decline in the distance
 travelled with higher filter settings; the program will not consider
 these filters to be better if the decline is too great.
 If the program is run on more than one file, then at the end there will
 be a report of the number of times each combination of binning and fil-
 ter cutoff gave the best solution. For example:
 Number of times each condition is best (rad2 in parentheses):
 bin = 6 3 (0.050) 1 (0.060) 0 (0.080)
 bin = 8 3 (0.050) 1 (0.060) 1 (0.080)
 This indicates that a cutoff of 0.05 is generally better than 0.06, and
 that there is not much difference between binnings 6 and 8.
 Not all combinations of binning and filter cutoff are meaningful. Fil-
 ter cutoffs that are at or above the Nyquist frequency for a particular
 binning will have little or no effect. Here are the Nyquist frequen-
 cies for common binnings:
 Binning Nyquist frequency
 2 0.25
 3 0.167
 4 0.125
 6 0.083
 8 0.062
 Support for Frame Files with Extended Header Data
 If the frame files have an extended header (as files saved by UCSFtomo
 do), the program will look for several features:
 1) If the header is large enough to contain a gain reference, then
 these data will be extracted and used to gain-normalize the frames,
 unless a different gain reference is supplied with the -gain option.
 The reference will be assumed to be in the correct orientation to apply
 to the frames; but if it is not, the -rotation option can be used to
 reorient it.
 2) If the header appears to contain valid tilt angles, the program
 will use these values to break the frames into separate sets for align-
 ing and summing, unless the -break option is given. It will recognize
 one place where there are two sets at the same angle and make two sums
 there, provided that there are at least 5 sets of frames of the same
 size prior to that place. This, if you use -frame to try aligning a
 subset of tilt angles right around the starting point of a tilt series,
 you may have to use -break to prevent these two images from being com-
 bined. The tilt angles will be placed into the extended header of the
 output file unless provided by another source (the -tilt or -stack
 options).
 3) If the extended header contains valid entries for pixel size and
 tilt axis rotation angle, the pixel size will be placed into the stan-
 dard header location and a title will be added with the rotation angle.
 Note that although multiple files can still be entered when there is an
 extended header, the program will insist that their properties match.
 Dose Weight Filtering
 The program can do dose weight-filtering of frames before summing for
 sets of frames from either tilt series or single-particle acquisition.
 The filter is as described in Grant and Grigorieff, 2015
 (DOI:10.7554/eLife.06980) and the implementation follows that in their
 "unblur" program. At any frequency, the filter follows an exponential
 decay with dose, where the exponential is of the dose divided by 2
 times a "critical dose" for that frequency. This critical dose was
 empirically found to be approximated by a * k^b + c, where k is fre-
 quency; the values of a, b, c in that paper are used by default but can
 be modified with the -critical option. This filter function is applied
 for all frequencies (complete attenuation above the "optimal dose" is
 no longer considered appropriate). For each set of frames, the program
 will apply a weighting that changes through the set of frames as dose
 accumlates. If just an overall dose for the image is specified, this
 dose is divided equally among the frames. However, if frames are not
 of equal duration, it is possible to specify the different doses of the
 frames. For a tilt series, the weighting also changes through the
 frame sets according to the amount of dose prior to each set of frames.
 A variety of options are described below for providing dose information
 to the program. The ".mdoc" file from SerialEM can be a convenient
 source of such information, particularly if frames are not of equal
 duration. If an .mdoc is supplied for single particle data with the
 -dfile option, it can contain entries for many images; the program will
 pick out the dose information that applies to the frame sets being
 aligned. For tilt series, the .mdoc provides cumulative dose informa-
 tion directly if created by SerialEM in 2017 or later; if that informa-
 tion is missing, it can be derived from the date-time stamps of the
 frames. When the -adjust option is used to write a new .mdoc file, the
 program makes several changes to make the new file usable or more
 robust for dose weighting. If there are dose entries but no cumulative
 (prior) dose entries, prior dose entries will be added. If some tilt
 images are subsequently removed with Excludeviews, the .mdoc file
 made in that process will still be valid for dose weighting, whereas
 prior dose values derived from date-time stamps instead would then be
 incorrect. If you enter a fixed total dose per frame stack with -dto-
 tal, either because there is no dose information in the .mdoc or
 because you wish to override the dose value in the file, the program
 will add or replace both the dose per tilt image and the prior dose
 entries so that they are correct for the new value. Again, this allows
 Excludeviews to be used.
 Computer and GPU Memory Usage
 The amount of computer memory required for this processing depends
 mostly on the size of the images and whether all of the frames will be
 held in memory until all alignments are completed. Each frame held in
 memory requires 4 times as many bytes as pixels. Frames will be held
 in memory if only one binning is used and any of the following options
 are used: multiple filters (unless the -hybrid option is used to allow
 the final setting of one shift after each pairwise fit), pairwise
 alignment among all frames, refinement after initial alignment, or
 smoothing of shifts (which occurs by default with 15 or more frames).
 Otherwise, the number of frames held until the end will equal the num-
 ber of frames used for pairwise fits (plus the group size minus one, if
 grouping). However, when more than one binning is tested, the program
 will not hold any frames but instead read them in again on a second
 pass.
 The amount of memory needed for the binned images being aligned can
 also become large if the binning is small. These images are all held
 until the end if there is refinement of the initial alignment; other-
 wise the number retained will be the number used for pairwise fits.
 When using a GPU, the size of unbinned images dominates the usage, but
 space is needed for only 3 or 4 image-sized arrays. This can approach
 1 GB for ~8K images. The frames are actually held in computer memory
 until their shifts are finalized. Binned images for alignment will
 also consume significant amounts of the GPU memory; these images stay
 on the GPU instead of in computer memory, and the requirements there
 are the same as they would be in computer memory. If binning is only
 to ~2Kx2K and there are 60 frames, with refinement at the end, then 1
 GB would be needed; fewer frames or more binning (both typical) would
 result in half this requirement for the aligned frames. Thus, 2GB of
 memory should suffice for typical usage, but 4 GB would handle almost
 any anticipated need.
OPTIONS
 Alignframes uses the PIP package for input (see the manual page for
 pip). 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 parentheses.
 INPUT CONTROL OPTIONS
 These options specify the input to the program or are related to
 input options
 -input (-in) OR -InputFile File name
 Input file with images to correlate. Non-option arguments will
 also be used for input files, with those entries used after any
 names entered with this option. If -foutput is entered, all
 non-option arguments will be used for input files; otherwise all
 but the last will be. Input files need not be entered if an
 .mdoc file is entered with the names of the frame files. (Suc-
 cessive entries accumulate)
 -output (-ou) OR -OutputImageFile File name
 If this option is not entered, the last non-option argument will
 be used for this output file. An output file is required unless
 -nosum is entered.
 -list (-lis) OR -ListOfInputFiles File name
 Name of file with list of input files, one per line. Filenames
 entered this way are equivalent to ones entered with -input or
 as non-option arguments; the latter two entries cannot be used
 along with a file list.
 -break (-br) OR -BreakFramesIntoSets Integer
 If the input consists of a series of single-frame files, this
 option must be used to combine them into one or more sets of
 frames to be aligned and summed. Additionally, the option can
 be used to break a file with many frames into multiple sets of
 frames, each of which will be aligned and summed. The input
 frames (either the whole collection of single-frame files, or
 the frames in one multi-frame input file) will be divided into
 groups of the given size, with any extra frames distributed
 among the initial groups. For example, for 50 single-image
 files or one file with 50 frames, and an entry of 8, there will
 be 6 summed images, with 9 frames in the first two and 8 frames
 in the rest. There must be at least as many single-image files,
 or as many frames in each input file, as the number given. For
 single-image files, this option cannot be entered with the
 -frame or -assess options. For multi-frame files, the option
 cannot be entered with -assess and will work with -frame. In
 either case, the option should work with -stack or -mdoc unless
 frame filenames are being taken from the mdoc file. Frame files
 with tilt angles in the extended header will automatically be
 broken into sets by tilt angle, so this option is not needed in
 that case.
 -saved (-sa) OR -SavedFrameListFile File name
 Name of file with list of frames saved from a fast-incremental
 single exposure tilt series where blanked frames were not saved.
 There must be only a single frame input file and it must have
 the same number of frames as lines in this list file. Every set
 of contiguous values is assumed to be from one tilt angle.
 There are several changes in IMOD 4.10.36: 1) A negative entry
 means that the frame should be skipped; this should occur only
 at the start or end of a frame set. 2) The frame numbers need
 not increase within a frame set, so the list could use the same
 number for all frames in a set. 3) The frames numbers need not
 be sequential within a frame set; there can be gaps as large as
 the value entered with the -gap option, and the program will not
 start a new frame set at such a gap. 4) The program will auto-
 matically eliminate the first or last frame if there is a large
 enough gap between it and the adjacent frame and the average
 size of frame sets is at least 4, and if there are no negative
 values in the file. SerialEM has to write these frames, and as
 of 3.8beta7 it will mark them with negative frame numbers, but
 this automatic detection should work with older frame lists. If
 data are lost from entire tilt angles because they fell below
 the threshold for saving, Alignframes can also use relative
 starting and ending frame numbers from a tilt angle file or an
 .mdoc file to sort out which angles were lost (this information
 is output by SerialEM as of 12/16/19). This entry cannot be
 used with -frame, -assess, or -break.
 -gap OR -MaxGapWithinFrameSet Integer
 Maximum size of a gap in sequential frame numbers allowed before
 starting a new frame set, when using a saved frame list. The
 value is thus the number of frames that might have been lost
 within a frame set because the threshold was set too high during
 acquisition. The default is 0.
 -skip (-sk) OR -SkipFileChecks
 Skip initial check that all input files have the same size and
 data mode; this check can take significant time with many non-
 MRC single-frame files. This option is allowed only with sin-
 gle-frame input files.
 -stack (-sta) OR -CorrespondingStack File name
 Name of image stack of sums corresponding to the input files,
 such as a tilt series where each image is a sum of unaligned
 frames. This file will be used for the basic header information
 of the output file, thus preserving titles and extended header
 data.
 -mdoc (-mdo) OR -MetadataFile File name
 Name of a metadata autodoc (mdoc) file with a section for each
 input file to be aligned and stacked. This file is an alterna-
 tive way to get basic header information for the output file, as
 well as tilt angles into the extended header. In addition, if
 there are no input filenames entered as arguments, input file-
 names will be obtained from all of the sections in the .mdoc
 file with "SubFramePath" entries. However, the paths in those
 entries are ignored; the frame files must all be in the current
 directory unless the -path option is entered with an alternative
 path. This capability is useful for bidirectional tilt series
 or if a Record image was acquired more than once at a tilt
 angle, since only the frame file for the last Record image will
 be used. If input filenames are entered as arguments, there
 must be at least as many sections in the .mdoc file as input
 files if tilt angles are to be obtained from the .mdoc file
 (i.e., if -tilt is not entered). The exception to this is when
 a saved frame list file is entered with the single input frame
 stack from a tilt series. In this case, the .mdoc file from
 SerialEM is a frame stack mdoc file with a "FrameSet" section
 followed by a brief section for each tilt, with the angle,
 expected relative starting and ending frames, and dose informa-
 tion.
 -path (-pat) OR -PathToFramesInMdoc Text string
 Current path to the frame files listed in an .mdoc file, when
 these are being used as the input filenames. If this option is
 not entered, the program must be run in the directory where the
 frames are located to access files listed in an .mdoc file.
 -ignore (-ig) OR -IgnoreZvaluesInMdoc
 Take sections in order from the .mdoc file instead of by Z
 value. With this option, .mdoc file sections can be removed or
 rearranged to control which frame files are stacked. Otherwise,
 sections must exist for all Z values being accessed, starting at
 0.
 -adjust (-ad) OR -AdjustAndWriteMdoc
 Correct entries in the input .mdoc file for changes in image
 size, binning, pixel size, data mode, or dose, and write a new
 file with the name of the output file plus .mdoc. This option
 has no effect unless an .mdoc is entered. If tilt series data
 are processed in order by tilt angle, the new file will be writ-
 ten in the new order and it can be used later for dose-weighting
 in Mtffilter. If the dose entries in the .mdoc file are
 superseded by a fixed total dose entry with -dtotal, the Expo-
 sureDose lines will be modified or added to contain the new dose
 value, and PriorRecordDose lines will be modified or added as
 well.
 -reorder (-reo) OR -ReorderByTiltAngle Integer
 Process sets of frames in order by increasing or decreasing tilt
 angle. Enter 0 for no reordering, 1 to reorder from negative to
 positive unless the angles already decrease monotonically, 2 to
 reorder always from negative to positive, -1 to reorder from
 positive to negative unless angles already increase monotoni-
 cally, or -2 to reorder always from positive to negative. The
 default is 1 unless -ignore is entered, in which case it is 0
 and this option cannot be entered.
 -pixel (-pi) OR -PixelSize Floating point
 Pixel size in nanometers. A pixel size is needed for dose
 weighting. This entry is needed only if the pixel size in the
 image file header or files entered with -stack or -mdoc is
 incorrect; it overrides any other source of pixel size.
 -eer (-ee) OR -EERSuperResZSumPadding Three integers
 Amount of super-resolution to retain (0 for none, 1 for 2x, or 2
 for 4x), an entry controlling the summing of frames into succes-
 sive groups, and the amount of "padding" for row/column defects
 when reading from an EER file. The super-resolution reduction
 and the Z summing both occur in the TIFF reading module and
 these two entries determine what size the EER file appears to be
 to Alignframes, both the size in X and Y and the number of
 frames. A positive Z summing value specifies the number of
 frames to sum into each group, where the groups become the
 frames that Alignframes reads. A negative value directly speci-
 fies the number of grouped frames for the reading module to pro-
 duce. All pixel-related entries and outputs from Alignframes
 are in terms of the pixels returned to the program from that
 module, not the original 4X super-resolution pixels. When the
 summing value does not evenly divide the total number of frames,
 the specified frame summing is the maximum summing that will
 occur, and the frames will be distributed as evenly as possible,
 with the summing lower by 1 at the beginning of the stack. The
 default for super-resolution is 1, or a value set with the envi-
 ronment variable IMOD_DFLT_EER_SUPER_RES. The default for sum-
 ming is 10, or a value set with the environment variable
 IMOD_DFLT_EER_Z_SUMMING.
 When a gain reference is provided with a defect list
 included, the third entry controls the kind and extent of pad-
 ding around row and column defects; -1 can be entered to use the
 default padding. A number less than 10 specifies the additional
 physical pixels to be corrected for extreme super-resolution
 bias by averaging over the super-resolution pixels in a physical
 pixel in the direction perpendicular to the defect. When not
 reading with antialiasing, a value of 1 appears to be sufficient
 and is used when the entry is -1. A value over 10 specifies 10
 times the number of pixels to widen the defect by on each side.
 When reading with antialiasing, a value if 20 (widening by 2
 pixels on each side) is necessary and is used when the entry is
 -1. If you need to adjust the defect list more than that, you
 will have to run Clip with the -ed option to output the
 defect list in SerialEM format, modify that, and enter it here
 with the -defect option.
 -aaeer (-aa) OR -ReadEERWithAntialiasing Integer
 Type of antialias filter to use when reading an EER file. This
 filtering is done by adding a packet of 100 counts to the image
 for each electron event. The packet is centered on the super-
 resolution location of the event and distributed among 16 pixels
 of the image being composed according to the filter function.
 Enter 0 to disable this filtering, 1 for a Lanczos 2 filter, or
 2 for a Mitchell filter (which should not be as good). The
 default is 1.
 -super (-su) OR -SuperGainFactorFile File name
 File with factors for adjusting the gain reference for an EER
 file to correct for bias among the super-resolution pixels
 within each physical pixel. These factors can be calculated
 from all the pixels in one or more EER files using the "clip
 supergain" command, which produces the file to be input here.
 The adjustment is quite minor when reading with 2x2 super-reso-
 lution, where the factors range up to ~1.7%, but may be more
 significant with 4x4 super-resolution, where the factors range
 up to ~7%. See the FILES section of the Clip man page for
 the format of this file.
 OUTPUT CONTROL OPTIONS
 These options specify the output of the program or are related to
 output options
 -binning (-bin) OR -AlignAndSumBinning Two integers
 Image reductions to apply when aligning and when summing. The
 default for summing is 1, and the default for aligning is chosen
 by seeing which binning out of 2, 3, 4, 6, or 8 brings the size
 being correlated closest to 1250, or to 1560 for frames in a
 size range that could come from a K3 camera. Enter a negative
 number for the alignment binning to use the default instead of
 having to specify it. If -test is entered with one or more bin-
 nings, an entry for alignment binning is ignored.
 -target (-tar) OR -TargetAlignSize Integer
 Use a reduction factor that brings images for alignment close to
 the given size. The default is 1250 pixels, or 1560 pixels for
 frames recognized as from a K3 camera.
 -frames (-fra) OR -StartingEndingFrames Two integers
 First and last frame in each file to align and sum, numbered
 from 1. The default is to do all the frames. The starting
 frame number must be no bigger than the smallest number of
 frames in any file.
 -partial (-par) OR -PartialFrameThresholds Two floats
 Relative thresholds for skipping one frame at the start and the
 end of a frame set, when using a saved frame list. The values
 must be less than 1 and greater than 0. The mean of the middle
 frame of the set is taken as a reference; the first frame is
 skipped if its mean is less than the first threshold times the
 reference; the last frame is skipped if its mean is less than
 the second threshold times the reference. A higher threshold
 might be appropriate for the first frame if there tends to be
 excessive drift then. The only reason to skip a partial frame
 at the end of a set is to avoid including a frame with insuffi-
 cient signal-to-noise ratio. There is no test for statistical
 significance, so do not set the threshold so high (e.g., 0.99)
 that you risk dropping frames just due to random variations in
 the means.
 -drift (-dr) OR -DriftLimitDistAndNumber Two floats
 Maximum shift between frames above which to drop initial frames
 of the set, and either the maximum fraction or the maximum num-
 ber of frames to drop. The shift is in unbinned pixels. If a
 maximum fraction is entered, it must be between 0 and 0.5. With
 this option, the program will do the alignment, then if initial
 shifts are above threshold, it will redo the alignment with
 those frames dropped.
 -sets (-se) OR -RangeOfSetsToDo Two integers
 First and last frame set or file to process, numbered from 1.
 The default is to process all input data. The file or set num-
 bers correspond to the numbers shown in the text output and
 apply after reordering by tilt angle, if any. This option is
 here for convenience in testing and assessment, and it may not
 work in all cases. The correct tilt angles should be placed in
 the the file header, but an adjusted .mdoc file will not be cor-
 rect.
 -ddrop (-dd) OR -DropAndReplacementDoses Two floats
 Dose in an .mdoc file below which the frame set will be dropped,
 and a dose to assume when recomputing the prior accumulated
 dose. Some .mdoc files show dose at the camera instead of dose
 to the specimen and can include dose values of 0 where the beam
 is occluded by a grid bar. When doing dose-weighting, zero
 doses will produce an error and this option is necessary to
 avoid them. In any case, the option will also trim out images
 with nominal doses below the threshold. If the second value is
 greater than 0.01, the PriorRecordDose entries in the .mdoc will
 be ignored and accumulated doses will be recomputed, with each
 dose below the threshold replaced by the maximum of the replace-
 ment value and the nominal dose. A replacement value comparable
 to the typical dose would be appropriate if the specimen area is
 above the grid bar when the grid bar occludes the beam. If all
 the dropped frames are at the end of the tilt series, the
 replacement entry does not matter. This option cannot be
 entered with the -sets or -mdrop options.
 -mdrop (-mdr) OR -DropSetIfMeanBelow Floating point
 Exclude frame sets with a mean in the .mdoc file below the given
 value. This option provides a way to trim out images where the
 beam was occluded when the dose entries are not based on dose at
 the camera. It cannot be entered with the -sets or -ddrop
 options.
 -mode (-mo) OR -ModeToOutput Integer
 Mode for output image file: 0 for bytes, 1 or 6 for signed or
 unsigned integers, or 2 or 12 for 32-bit or 16-bit floating
 point. The default is to use the mode of the input file unless
 is it 0, in which case the default is to use mode 1; however,
 the default mode of floating point output for MRC files is gov-
 erned by the value of environment variable
 IMOD_WRITE_FLOATS_16BIT.
 -scale (-sc) OR -ScalingOfSum Floating point
 Amount to scale summed values before output. The default is no
 scaling; however, note that reduction of the output size will
 scale the data up by the square of the reduction factor. Such
 scaling mimics the summing of counts by binning during data
 acquisition.
 -total (-to) OR -TotalScalingOfData Floating point
 Search the titles of the first input file for a scaling factor,
 and apply an additional scaling to the summed values to bring
 the total scaling to the amount entered. If no scaling is found
 in a title, it is assumed to be 1 and the full scaling specified
 here will be applied. A default total scaling of 30 or 32 will
 be applied if the input data consists of bytes or 4-bit values,
 gain normalization is being applied, and the output mode is not
 set to 2. A default of 32 is used if the gain reference is
 clearly from a K3 camera.
 -meansd (-mea) OR -MeanAndSDtoScaleTo Two floats
 Scale each summed image to the given mean and standard deviation
 if the given SD is greater than 0, or just scale to the given
 mean if SD is 0 or less.
 -rfsum (-rf) OR -SumRotationAndFlip Integer
 Rotation and flip operation to apply to sum before output.
 Enter a number from 0 to 7, chosen by taking the rotation angle
 counterclockwise divided by 90, plus 4 for a flip around the Y
 axis before the rotation. (This corresponds to the RotationAnd-
 Flip property used in SerialEM for several kinds of cameras.)
 Enter -1 to have this value taken from a "need" entry in a title
 of the first input file from SerialEM, or from the orientation
 tag in an EER file, or to treat MRC frame files from FEI soft-
 ware appropriately (i.e., invert in Y with a value of 6. If
 there is no "need" entry for a SerialEM file, this option with
 -1 is ignored, but if there no orientation entry for an EER
 file, it is an error.
 -tilt (-til) OR -TiltAngleFile File name
 File with tilt angles to insert into the header of the output
 file. The file should have one tilt angle per line, and must
 have at least as many angles as frame files or sets being
 stacked. Tilt angles will be placed into the extended header in
 the UCSF/FEI format, one floating point value per section. With
 this entry, tilt angles will not be used from a corresponding
 stack or mdoc file. If this entry is used with a list of saved
 frames and a single input frame stack, each line of the file can
 also have the expected relative starting and ending frame num-
 bers for that tilt following the tilt angle.
 -axis (-ax) OR -AxisRotationAngle Floating point
 Rotation angle from the Y axis to the tilt axis, counterclock-
 wise positive. This angle will be placed into a title in the
 output file readable by Etomo. It will override an angle from
 an mdoc file or from a corresponding tilt series.
 -xfext (-x) OR -TransformExtension Text string
 Extension for output file(s) with image transformations having
 shifts in columns 5 and 6. One file will be produced for each
 input file, with the input file extension replaced by the given
 extension. These files have the absolute shifts being applied
 to each frame, in unbinned pixels, not relative shifts between
 successive frames.
 -frc OR -FRCOutputFile File name
 Output file for Fourier ring correlations between sums of even
 and odd frames, which are computed when a sum is produced. The
 file will have a series of lines, each with the file number, the
 frequency at the center of ring, and the correlation coeffi-
 cient. When a GPU is used, the program may not compute the FRC
 if there is only enough memory to sum into one buffer on the GPU
 instead of two.
 -ring (-ri) OR -RingSpacingForFRC Floating point
 Spacing between the rings of the Fourier ring correlation, in
 cycles/pixel of the summed images. The default is 0.005, which
 is needed for resolving closely spaced CTF oscillations.
 Smaller values like 0.02 - 0.05 will provide more averaging for
 situations with more widely spaced oscillations. See the sec-
 tion below, Evaluating and Visualizing Differences with FRC
 Curves.
 -evenodd (-ev) OR -EvenAndOddSumOutput Integer
 Output two additional files, with sums of even and odd frames,
 where frames are numbered from 0. Thus, if there is an odd num-
 ber of frames, the "even" sum will have one more frame than the
 "odd" sum. If the output file name does not have an extension
 of 4 or fewer characters, names will be the output filename with
 "_even" and "_odd" appended. Otherwise, with an entry of 1, an
 output name of "rootname.ext" will give names "root-
 name_even.ext" and "rootname_odd.ext". With an entry greater
 that 1, the program will use names appropriate for a dual-axis
 tilt series if the root of the output filename ends in "a" or
 "b". For example, an output file name of "setnamea.ext" will
 give names of "setname_evena.ext" and "setname_odda.ext".
 -lines (-lin) OR -LinesOfAlignSummary Integer
 Number of lines summarizing the fitting and FRC results. Set to
 3 for full output, 2 to eliminate the FRC line, or 1 for a con-
 densed output with the weighted mean residual, maximum of maxi-
 mum weigted residual, and the raw and smoothed distances. When
 using the -saved option to enter a saved frame list file, the
 output will also include the shifts of the first four frames;
 enter a negative value to suppress this output.
 -plottable (-pl) OR -PlottableShiftFile File name
 Filename for output file with raw and smoothed shifts in
 unbinned pixels. The smoothed shifts will be from spline
 smoothing if it was done, otherwise from local polynomial
 smoothing. The shifts will be put into the file one per line,
 starting with a type number of 10 times the file number for the
 raw shifts or that value plus 1 for the smoothed shifts (e.g.,
 10 and 11 for the first file).
 -nosum (-nos) OR -NoSumsOutput
 Do alignments without making a summed image; no output filename
 should be entered.
 PREPROCESSING OPTIONS
 These options provide for initial processing of the data before
 aligning
 -titles (-tit) OR -RefAndDefectFromTitles
 Normalize the data using a gain reference and possible defect
 file listed in the header titles of the first frame file from
 SerialEM, or use a gain reference listed in the metadata of an
 EER file. For a SerialEM file, the title with the reference
 name must contain "ref" or "Ref" and end in ".mrc", ".dm4", or
 ".tif". The title with the defect name must contain "defect"
 and end in ".txt". Each file must exist in the directory with
 the frame file. This entry also causes the rotation and flip
 operation found in a title to be applied, so -rotation -1 need
 not be entered. An entry with the -gain, -defect, or -rotation
 option overrides the respective information found in a title.
 For an EER file it will be an error if the metadata is not found
 or does not contain a gain reference name. Use "header -t 65001
 filename" to see the metadata in an EER file.
 -gain (-gai) OR -GainReferenceFile File name
 Gain reference for normalizing unprocessed or dark-subtracted
 frames. The gain reference should be a floating point file with
 a mean of 1. If this option is entered, it supercedes a gain
 reference found in the extended header of the frame files. If
 the gain reference is a TIFF file or the frame input is an EER
 file, then the gain is allowed to be exactly 2 or 4 times
 smaller than the frames. In that case, the gain reference is
 expanded by replicating the value for a pixel to all the super-
 resolution pixels within it.
 -rotation (-ro) OR -RotationAndFlip Integer
 Rotation and flip operation that needs to be applied to the gain
 reference to match the orientation of the frames being cor-
 rected. Enter a number from 0 to 7 by taking the rotation angle
 counterclockwise divided by 90, plus 4 for a flip around the Y
 axis before the rotation. (This corresponds to the RotationAnd-
 Flip property used in SerialEM for a K2 camera, but it is also
 possible to save such frames without the rotation and flip.)
 Enter -1 or -2 to have this number taken from an "r/f" entry in
 the title of the first input file, in which case it is an error
 for the "r/f" entry to be absent. Entering -2 is equivalent to
 entering -1 for the -rfsum option and makes it take the rotation
 and flip for output from a "need" entry in that title unless the
 -rfsum option was entered. A negative value is ignored for EER
 files to accommodate the default option in the Alignframe inter-
 face in Etomo.
 -dark (-da) OR -DarkReferenceFile File name
 Dark reference to be subtracted before multiplying by a gain
 reference when the frames are saved as unprocessed data.
 -defect (-def) OR -CameraDefectFile File name
 File of camera defects to correct. The defect file is put out
 by SerialEM for versions of DigitalMicrograph from GMS 2.3.1 and
 higher when frames are not gain-normalized. The program will
 determine the binning of the image relative to these defect
 coordinates by assuming that the images are more than half the
 camera size. It will decide to scale the coordinates in the
 defect list up by 2 if necessary for super-resolution frames.
 These decisions will be reported and can be overridden with the
 next two options. If this option is entered, it supercedes the
 defect list found in a TIFF gain reference file.
 -double (-do) OR -DoubleDefectCoords
 Scale camera defect coordinates by 2 if they are not already
 scaled. This option should not be needed.
 -imagebinned (-im) OR -ImagesAreBinned Floating point
 Binning of images, which could be needed for defect correction
 if frames are not bigger than half the camera size.
 -truncate (-tru) OR -TruncateAbove Floating point
 Replace values above a limit with the mean of surrounding val-
 ues. The mean is taken from pixels in a 7x7 area, excluding the
 center 9. Enter a positive number to specify an absolute limit
 in counts that applies to all frames being processed. Enter a
 negative number to specify the number of standard deviations
 above the mean at which to truncate (e.g., -8 for 8 SD's above
 the mean). This limit will be determined separately for each
 frame file or set of frames, using the first frame of the set.
 When the saved option is entered with a saved frame list file,
 the limit is determined separately again for the second frame
 and that limit is used for the rest of the frames in the set, in
 case the first frame is a partial exposure.
 ALIGNMENT OPTIONS
 These options control the strategy and main parameters of the align-
 ment
 -pair (-pai) OR -PairwiseFrames Integer
 Number of frames or groups to use in successive pairwise align-
 ments, or 0 to use alignment to a cumulative reference of
 already-aligned frames. The default is 7. With an entry of -1
 or a value equal to or bigger than the number of frames, the
 program will align all pairs of frames or groups and do a single
 fit. With an entry of -2, -3, or -4, it will do pairwise align-
 ments among sets of one-half, one-third, or one-fourth of the
 frames or groups, but with a minimum of 7 included.
 -reverse (-rev) OR -ReverseOrder
 Reverse order of processing and start with the last image. This
 should make very little different when using pairwise align-
 ments, but is a potentially useful option when using alignment
 to a cumulative reference, unless there is substantial fixed
 pattern noise.
 -shift (-shi) OR -ShiftLimit Integer
 Limit on distance to search for correlation peak, in unbinned
 pixels. If the previous frame was aligned to the same reference
 being aligned to, the center of the region searched corresponds
 to the peak position for the previous frame. The default is 20.
 -group (-gr) OR -GroupSize Integer
 Number of frames to sum for correlations between groups of
 frames; such groups are needed when correlations between single
 frames are too noisy to give reliable results. Since correla-
 tions are done only between non-overlapping groups, grouping
 reduces the number of measured shifts from which each frames's
 shift can be determined. Frames will be grouped in one of two
 ways: in non-overlapping blocks, or in successive overlapping
 groups, referred to as "slide grouping". The latter is used
 only when the total number of frames is large enough to allow a
 linear equation to be fit to the shifts; for example, this
 requires 8 frames for a group size of 3. With slide grouping,
 each frame will have a different shift. If the program has to
 drop back to block grouping, all frames in a block will have the
 same shift.
 -radius2 OR -FilterRadius2 Floating point
 High spatial frequencies in the cross-correlationd will be
 attenuated by a Gaussian curve that is 1 at this cutoff radius
 and falls off above this radius with a standard deviation speci-
 fied by FilterSigma2. Unlike in other applications, this value
 is entered in frequency units (1/pixel) of the input frames, not
 of the reduced images being correlated. It is scaled by the
 reduction before being applied to the reduced image, which means
 that a particular value will give about the same amount of fil-
 tering regardless of the binning. The default is 0.06.
 -vary (-va) OR -VaryFilter Multiple floats
 Set of radius2 filter values to test. This option can be
 entered separately for each binning, but that should not be nec-
 essary, for two reasons. First, because these values are in
 unbinned frequency units, each one would have about the same
 effect for the different binnings. Second, there is little cost
 to applying extra filters, because different filters are applied
 to a small subarea of an unfiltered correlation. Sigma2 will
 automatically be set for each filter so that it is in the same
 ratio to the particular radius2 value as the basic sigma2 is to
 the basic radius2 value. Thus, to provide a different set of
 sigma2 values for these filters, you need to enter -radius2 or
 -sigma2. (Successive entries accumulate)
 -hybrid (-hy) OR -UseHybridShifts
 Derive a set of shifts while alignments are being done by using
 the results from the best filter after each individual fit. By
 default, when given multiple filters to test, the program will
 decide on the best overall filter after all fits are done and
 use the shifts from that filter. This option will reduce memory
 requirements, unless the alignment is being refined at the end.
 -refine (-ref) OR -RefineAlignment Integer
 Refine an initial alignment based on pairwise correlations by
 correlating each frame with an aligned sum of all but that
 frame. The entry gives the maximum number of iterations that
 will be run, but iterations will stop if the biggest change in
 shift falls below a threshold.
 -rgroup (-rg) OR -RefineWithGroupSums
 When using group sums for the initial alignment, refine the
 alignment with group sums as well, instead of single frames.
 This may be needed if the signal-to-noise ratio is too low even
 for the correlation between a single frame and the sum of other
 frames. The shifts converge more slowly in this case, so more
 iterations may be needed.
 -stop (-sto) OR -StopIterationsAtShift Floating point
 Maximum change in shift at which to stop iterating the refine-
 ment of initial shifts by correlating with the sum of frames.
 The default is 0.1.
 -rrad2 (-rr) OR -RefineRadius2 Floating point
 High frequency filter cutoff (radius 2) for refining the align-
 ment. The default is to use the same filter that was used to
 obtain the alignment, or the filter that gave the best overall
 error value when a hybrid alignment was used.
 -smooth (-sm) OR -MinForSplineSmoothing Integer
 Smooth the shifts with a spline curve whose smoothing parameter
 is found with generalized cross-validation, but only if the num-
 ber of frames is at least as big as the entered value. This
 method requires a fairly large number of frames to be reliable;
 the documentation for the cross-validation code being used sug-
 gests 20 frames may be needed. Smoothing should not be used
 with less than 10 frames. For numbers between 10 and ~20, a
 minority of images may come out slightly worse with smoothing,
 so it would be advisable to evaluate results with and without
 smoothing, such as with an FRC. The default is currently 20;
 enter 0 to disable smoothing.
 -gpu (-gp) OR -UseGPU Integer
 Use the GPU (graphical processing unit) for computations if pos-
 sible; enter 0 to use the best GPU on the system, or the number
 of a specific GPU (numbered from 1). If GPU memory is a limita-
 tion, the program will prioritize forming the sum on the GPU
 over doing the alignment there, and will compute odd and even
 sums as the lowest priority. If alignment becomes possible on
 the GPU only by deferring the summing, and if CPU memory is suf-
 ficient for that, then it will keep the entire stack of frames
 in memory and sum them after aligning.
 -memory (-mem) OR -MemoryLimitGB Multiple floats
 Limit on CPU memory usage, and optionally a limit on GPU memory
 usage, in gigabytes or as a negative fraction of total memory.
 Enter a value > 0.05 to specify that number of GB, or a value
 between -0.05 and -0.95 to specify between 0.05 and 0.95 for
 total memory. The default for the CPU limit is 3/4 of system
 memory for system memory less than 16 GB, half of system memory
 for system memory more than 24 GB, and 12 GB between those lim-
 its or when system memory cannot be determined. When the memory
 usage would exceed the limit for a set of input frames, the pro-
 gram will run through the data in two passes, one to get the
 alignment and one to make the sum. This may not be possible if
 the -assess option is used. The default GPU limit is 0.85 times
 the GPU memory.
 DOSE WEIGHT FILTERING OPTIONS
 These options control "dose weighting", which filters out high fre-
 quencies as a function of the dose already applied to a cryo-specimen.
 -dtype (-dty) OR -TypeOfDoseFile Integer
 This option both enables dose weighting and indicates what kind
 of file is being provided with the dose information. Type 4
 indicates key-value information in the autodoc format, such as
 an .mdoc file produced by SerialEM. If an .mdoc file has been
 entered with the -mdoc option, this is the file that will be
 used, and no filename can be entered with the -dfile option.
 The other four types are simple text files with a line for each
 output image (i.e. each set of frames being aligned). These
 types are:
 1: A single value per line, just the dose for each image;
 2: Two values, the prior accumulated dose followed by the
 image dose;
 3: The prior dose followed by the cumulative dose at the end
 of that image;
 5: One or more pairs of entries indicating the dose per frame
 and the number of frames with that dose. For example, "0.5 15
 0.75 10 1.0 15" specifies a dose of 0.5 for 15 frames, 0.75 for
 15 frames, and 1.0 for 15 frames. The total number of frames on
 such a line must match the number of frames in the set.
 For these four types of text files, if the files or frame sets
 are being processed in order by tilt angle, the lines should be
 in the same order as the processing would occur without this
 reordering, i.e., the original order of the data, or of the Z
 values in an mdoc file.
 -dfile (-dfi) OR -DoseWeightingFile File name
 Name of file with dose information for dose weighting. This
 entry is required if -dtype is entered, unless a 4 is entered
 there and a file was entered with the -mdoc option.
 -dtotal (-dto) OR -FixedTotalDose Floating point
 Total dose for each set of frames, in electrons/square Angstrom.
 This option independently enables dose weighting and cannot be
 entered with -dtype or -dframe.
 -dframe (-dfr) OR -FixedFrameDoses Floating point
 List of frame doses and numbers that applies to all sets of
 frames. The list is a set of paired numbers: a dose in elec-
 trons/square Angstrom and the number of frames taken at that
 dose (e.g., enter "2,10,4,5" for 10 frames of 2 e/A^2 and 5
 frames of 4 e/A^2). This option independently enables dose
 weighting and cannot be entered with -dtype or -dtotal.
 -dprior (-dp) OR -InitialPriorDose Floating point
 Dose applied before any of the images in each frame set were
 taken; this value will be added to all the prior dose values (if
 any), however they were obtained.
 -bidir (-bid) OR -BidirectionalNumViews Integer
 Number of views in the first part of a bidirectional tilt
 series, where the order of images in the input file is inverted
 from their order of acquisition. This entry is essential for a
 bidirectional series if a fixed dose is entered with -dfixed or
 if a dose file of type 1 or 5 is entered. It is ignored for
 types 2 and 3. It is not needed for type 4 and an .mdoc file
 entered with the -mdoc option, where the correct doses are
 available either from PriorRecordDose entries or from analysis
 of DateTime entries. However, it would be needed for an .mdoc
 file entered with -dfile unless the -accum option is entered
 with a 2 to use prior dose information from the .mdoc file.
 -accum (-ac) OR -DoseAccumulates Integer
 This option can be used to override the program's assumptions
 about whether images are from a tilt series where dose should be
 accumulated between successive images. By default, dose accumu-
 lates whenever -stack, -tilt, or -saved is entered, or when
 -mdoc is entered with an .mdoc file having tilt angles that vary
 more than 1 degree; otherwise it does not. When there is such
 an .mdoc file, the cumulative dose information is taken from
 either the prior Record dose (if present) or the sum of doses of
 earlier images, even when only a subset of frame sets (images)
 are being used. However, if an .mdoc file is entered as a dose
 file, the dose will not accumulate. For this option, enter 0 to
 prevent accumulating dose or 1 or 2 to accumulate dose. The
 latter will have the same effect except when a subset of images
 is being aligned and an .mdoc file is entered with -dose instead
 of -mdoc. In that case 1 will make it accumulate dose by summing
 the doses over the images being aligned, while 2 will make it
 use cumulative dose information from the whole set of images in
 the .mdoc file.
 -normalize (-nor) OR -NormalizeDoseWeighting
 Normalize the dose weight filters so that they add up to to 1.0
 within each set of frames. This option is designed for tilt
 series where the true dose weighting of the tilt images is to be
 done later (e.g., with Mtffilter). It compensates for the
 difference in dose effect among the frames of an individual
 image, which can be significant for some early images if the
 dose is high enough. However, it results in no net filtering of
 the summed tilt image, leaving this dose weighting for a later
 stage. If this option is applied to a single-particle frame
 stack, the high frequencies will be boosted in early frames to
 compensate for their being attenuated in later frames.
 -volt (-vo) OR -Voltage Integer
 Microscope voltage in kV; this value must be either 200 or 300.
 The default is 300; if 200 is entered, the computed critical and
 optimal doses are multiplied by 0.8.
 -optimal (-op) OR -OptimalDoseScaling Floating point
 Factor by which to scale the computed optimal and critical doses
 that determine how much to attenuate a spatial frequency for a
 particular dose. Enter a factor greater than or less than 1 to
 indicate that the specimen is more or less resistant to damage
 than the equations indicate. Another use for this entry would
 be to adjust the critical dose for a voltage other than 200 and
 300 kV.
 -critical (-c) OR -CriticalDoseFactors Three floats
 Replacement factors a, b, and c in the equation
 critical_dose = a * k**b + c
 where k is frequency in reciprocal Angstroms. The default fac-
 tors are directly from Grant and Grigorieff and the unblur pro-
 gram. Enter 0 for any of the factors to use the default for
 that factor.
 -unweight (-un) OR -UnweightedOutputFile File name
 File name for output of summed images that have not been dose
 weighted in addition to the dose-weighted images placed in the
 main output file.
 OPTIONS FOR ASSESSING ALIGNMENT AND OTHER TEST PURPOSES
 This section includes options that are useful for assessing alignment
 parameters (mainly binning and filters) and advanced options that
 should not need adjustment.
 -test (-te) OR -TestBinnings Multiple integers
 Set of binnings at which to test pairwise alignments. Each bin-
 ning involves a separate pass through the frames of an input
 file, plus another pass to make a sum at the end with the best
 binning.
 -assess (-as) OR -AssessWithFrames Two integers
 Starting and ending frame to use during testing of parameters
 with multiple binnings or filters, numbered from 1. The default
 is to use all frames.
 -good (-go) OR -GoodEnoughError Floating point
 Combined error measure that is sufficient to stop testing bin-
 nings. This error is a weighted sum of two measures: the mean
 of the weighted mean residual errors from the set of fits, and
 the maximum weighted residual seen in any fit. The latter is
 weighted by the value entered by -weight option.
 -weight (-w) OR -MaxResidualWeight Floating point
 Weighting applied to maximum weighted residual from all fits
 when combining with the mean weighted residual to obtain a sin-
 gle error measure. The default is 0.1.
 -trim (-tri) OR -TrimFraction Floating point
 Fraction of image size to trim off each edge for correlations.
 The default is 0.02, which is the same amount as the padding.
 -taper (-tap) OR -TaperFraction Floating point
 Fraction of image size to taper on each edge for correlations.
 The image is tapered down to the mean at its edge. This taper-
 ing is usually an important component for reliable correlations.
 The default is 0.1. If this fraction is set to 0 and there is no
 trimming, the program obtains the FFT for cross-correlation by
 extracting it from the FFT of the full image instead of by
 reducing, padding and tapering the image and taking an FFT of
 that. The padding/tapering extent of the full image is
 increased from 2% on each edge to 5% in this case.
 -antialias (-an) OR -AntialiasFilter Integer
 Type of filter for image reduction when trimming or tapering.
 The standard values of 1 to 6 are available as in Newstack,
 with 1 corresponding to binning. The default is 4 for a
 Mitchell filter, which seems to be optimal on average for this
 application.
 -radius1 OR -FilterRadius1 Floating point
 Low spatial frequencies in the cross-correlations will be atten-
 uated by a Gaussian curve that is 1 at this cutoff radius and
 falls off below this radius with a standard deviation specified
 by FilterSigma2. Spatial frequency units range from 0 to 0.5.
 This option is here for the sake of completeness; use Filter-
 Sigma1 instead of this entry for more predictable attenuation of
 low frequencies.
 -sigma1 OR -FilterSigma1 Floating point
 Sigma value to filter low frequencies in the correlations with a
 curve that is an inverted Gaussian. This filter is 0 at 0 fre-
 quency and decays up to 1 with the given sigma value. However,
 if a negative value of radius1 is entered, this filter will be
 zero from 0 to |radius1| then decay up to 1. The default is
 0.03, expressed in frequency units (1/pixel) of the reduced
 images being correlated.
 -sigma2 OR -FilterSigma2 Floating point
 Sigma value for the Gaussian rolloff below and above the cutoff
 frequencies specified by FilterRadius1 and FilterRadius2. Like
 radius 2, this value is entered in unbinned frequency units and
 will be scaled by the reduction being applied for alignment.
 The default is 0.0086.
 -kfactor (-k) OR -KFactorForFits Floating point
 K factor for robust fitting to pairwise alignments. The default
 is 4.5; a smaller value will down-weight more outliers in the
 fits.
 -debug (-deb) OR -DebugOutput Integer
 This entry is a sum of flags for particular kinds of output: the
 last digit controls the printed output from the program (1 for
 basic output, 2 for more verbose output from each fit and dose
 weighting filters); 10 will give timing output, 100 will give
 output of cross-correlations during initial alignment; 1000 will
 give output of refining correlations; 10000 will give output of
 the sums of odd and even frames. Images are output with names
 "faimg-n.mrc" where n is increased sequentially.
 -flags (-fl) OR -FlagsForGPU Integer
 Flags to control which kinds of initial processing occur on the
 GPU. These flags are for testing and supersede the decisions
 that the program would make based on the memory available.
 Enter a sum of
 1 to do noise-taper-padding of full images on the GPU
 10 to do reduction and taper-padding of alignment images on
 the GPU
 100 to stack full-sized, unpadded frames on the GPU, provided
 that both the noise padding and reduction padding are to be done
 there
 1000 to do gain normalization, defect correction, and trunca-
 tion on the GPU, provided that noise padding or reduction pad-
 ding are to be done there
 10000 times the maximum number of frames to stack on the GPU
 -shrmem (-shr) OR -ShrMemTest
 Use shrmemframe to do align frames (special Windows build only)
 -help (-he) OR -usage
 Print help output
 -StandardInput
 Read parameter entries from standard input
EXAMPLES
 The example commands below would all be entered in one line, or as mul-
 tiple lines with a backslash at the end of every line except the last,
 as they are shown here due to line length limits. Most options could be
 abbreviated more than they are.
 Frames from Tilt Series
 An image from a tilt series with ~4Kx~4K images might align well with a
 command as simple as
 alignframes Feb21_10.43.50.mrc Feb21_10.43.50_ali.mrc
 where you can add "-gpu 0" to use a GPU on this or any of the following
 commands. This will use a default binning of 3 and filter cutoff of
 0.06/pixel. If you already know that you want a different binning
 (say, 4) or filter (say, 0.05), then the easiest way to enter this is
 with
 alignframes -bin 4,1 -vary 0.05 Feb21_10.43.50.mrc \
 Feb21_10.43.50_ali.mrc
 where using -vary will scale the sigma for the filter rolloff automati-
 cally.
 If the frame files for your tilt series list in order from one high
 tilt to the other and the tilt series file is available (say,
 cell4.mrc),
 alignframes -bin 4,1 -vary 0.05 -stack cell4.mrc Feb21_*.mrc \
 cell4_ali.mrc
 will process the entire tilt series and move information from the
 header of the tilt series file into the new file. However, if the tilt
 series was taken bidirectionally and the frames files do not list in
 order, or if the there were any duplicate images taken, then you want
 to supply the .mdoc file instead of the stack and input files:
 alignframes -bin 4,1 -vary 0.05 -mdoc cell4.mrc.mdoc cell4_ali.mrc
 which will process the frames in the right order and place essential
 information in the output file header.
 To explore filter settings, it is best to run on a collection of files,
 perhaps about 20. Suppose "Feb21_10.4*.mrc" lists the desired number
 of files, you could explore a range of filters at binning 3 with
 alignframes -vary 0.05,.06,.08,.1 -nosum Feb21_10.4*.mrc
 The summary at the end will tell which filter gave the lowest mean
 residual. Be sure to scan through the results and look at whether
 either the mean residual or the distance moved declines a lot with
 increased filtering, which may be a sign that fixed pattern noise is a
 problem. Also note whether the maximum unweighted residual is high.
 If it goes over 5-10 pixels, you can problem reduce the occurrence of
 bad fits by restricting the allowed shift with "-shift 10" or even
 "-shift 5". Obviously, you do not want to set this limit lower than
 the maximum possible shift from one frame to the next.
 Evaluating and Visualizing Differences with FRC Curves
 Suppose you want to use FRCs to evaluate the difference between two
 conditions, such as filter 0.05 versus 0.06, or with and without
 refinement. You need to make output sums to get an FRC.
 alignframes -vary 0.05 -frc sample.frc Feb21_10.4*.mrc sample.mrc
 alignframes -vary 0.05 -ref 5 -frc sample-refine.frc \
 Feb21_10.4*.mrc sample.mrc
 The ".frc" files have all of the FRC curves for a run, each with a
 "type" number equal to its file number in the alignframes text output.
 You can plot one curve (say, the fourth one) with
 onegenplot -ty 4 -sym 0 sample.frc
 To compare FRC's, run
 subtractcurves -ave 10 -rad 2 sample-refine.frc sample.frc \
 refine-diff.dat
 which will subtract each pair of corresponding curves and average over
 10 points to reduce the noise in the differences. You could have
 avoided the averaging here with the option "-ring .05" to alignframes,
 which will make the FRC curve much less noisy in Onegenplot. (The
 default FRC output is good for seeing the CTF oscillations in single-
 particle data, but a larger ring size will often be more appropriate
 for tilt series.) You could examine each difference in a separate
 graph with
 onegenplot -ty 1 -sym 0 refine-diff.dat &
 onegenplot -ty 2 -sym 0 refine-diff.dat &
 etc.
 But to assess the overall benefit of the difference in conditions, it
 is more efficient to look at a lot of points at once:
 onegenplot -ty 1,2,3,4,5,6,7,8,9,10 refine-diff.dat &
 onegenplot -ty 11,12,13,14,15,16,17,18,19,20 refine-diff.dat &
 etc.
 When looking at these curves, treat any improvements below about 1.3
 times the cutoff frequency with caution because they could arise from
 overfitting. Improvements past this point would not reflect overfit-
 ting, although if the fit is locking in on fixed pattern noise, it
 would boost high frequency correlations.
 Frames for Single-Particle Reconstruction
 For single-particle data, the best initial approach is to fit to pair-
 wise shifts among about half of the frames. So for a set of 34 frames,
 if you wanted to do an initial assessment with two filters and look at
 the FRC,
 alignframes -vary 0.05,.06 -pair 17 -frc test.frc \
 Feb15_10.13.15.mrc test.mrc
 which will use a default binning of 6 for ~8K frames. A more flexible
 command for fitting to shifts among half the frames, regardless of the
 exact frame count, is
 alignframes -vary 0.05,.06 -pair -2 -frc test.frc \
 Feb15_10.13.15.mrc test.mrc
 If you had some indication that fixed pattern noise was a problem, or
 if the data seemed particularly noisy, giving mean residuals above 1,
 you could use pairwise shifts among all frames with
 alignframes -vary 0.05 -pair -1 -frc test.frc Feb15_10.13.15.mrc \
 test.mrc
 For even noisier situations, you can use grouping to reduce the mean
 residual and improve the fits:
 alignframes -vary 0.05 -pair -1 -group 3 -refine 5 -frc test.frc \
 Feb15_10.13.15.mrc test.mrc
 where the refinement at the end may or may not be beneficial, depending
 on just how noisy the single frames are. The option specifies up to 5
 iterations of refinement, which is almost always sufficient unless
 refining the data as groups with the -rgroup option.
 Processing of Raw Frames
 If you have collected dark-subtracted data from a K2 camera into MRC or
 compressed TIFF files, you can process them with
 alignframes -gain SuperRef_Feb20_20.26.21.dm4 -scale 39.3 -rot -1 \
 -defect defects_Feb20_20.26.21.txt -pair 17 Feb21_10.32.56.tif \
 Feb21_10.32.56_ali.mrc
 using the gain reference copied into the data directory and the defect
 file written there by SerialEM. The option "-rot -1" specifies that
 the gain reference needs to be rotated by the value for rotation and
 flip indicated by "r/f" in a label in the file header. MRC files
 started having this label in SerialEM 3.4, TIFF files in SerialEM 3.5,
 so check either kind of file by running "header" on the file. If the
 label does not show "r/f", the number to use in the "-rot" entry would
 be the RotationAndFlip value in the SerialEM properties file. If
 frames were saved without rotation, do not include this option.
 Either the "-scale" option as shown here, or the "-total" option with a
 total scaling, or the option "-mode 2", should be entered to preserve
 the precision of the data when they are written. The program will use a
 default total scaling of 30 when normalizing if the input data are byte
 values and data are not being written as floating point with "-mode 2".
 However, it is probably better not to rely on the default and instead
 scale the electron counts by the same factor that is applied in Seri-
 alEM (39.3 in this example, a typical value when not dividing by 2).
 You could add an option such as "-trunc 7" to replace values above 7
 with the local mean. Use the command
 clip hist Feb21_10.32.56.tif
 to see the distribution of pixel values. There will be a point at
 which the values stop falling rapidly and then have a long tail;
 removal of values above there is indicated.
 Assessing Fixed Pattern Noise
 This procedure is not convenient, but does work. The first step when
 fixed pattern noise is suspected to affect the correlations is to out-
 put the individual shifts with the option "-deb 2". Use only a single
 filter for simpler output. You will see a series of lines like
 1 to 0 -1.95 -0.17 near 0.00 0.00
 2 to 0 -1.57 0.02 near -1.95 -0.17
 2 to 1 -0.60 -0.77 near 0.00 0.00
 3 to 0 -1.79 0.44 near -1.90 -0.30
 3 to 1 0.44 -1.32 near -0.28 -0.45
 3 to 2 0.36 0.02 near 0.00 0.00
 Each line shows a shift between a pair of frames (numbered from 0),
 then the shift that it was assumed to be "near" when comparing with the
 maximum allowed shift. If you see many shifts close to 0 (but not
 exactly 0), then they could be due to fixed pattern noise. (shifts of
 exactly 0 might indicated thatthe maximum shift was too low.
 Try with some higher filter values and see if the incidence of near-
 zero values increases. Set a binning lower than the default (e.g., 4
 instead of 6, 2 instead of 3) if necessary to make a filter value be
 below Nyquist. In the above example, a higher filter gave:
 1 to 0 -0.80 -0.22 near 0.00 0.00
 2 to 0 -0.71 0.07 near -0.80 -0.22
 2 to 1 -0.08 -0.38 near 0.00 0.00
 3 to 0 -0.92 0.42 near -0.77 -0.15
 3 to 1 0.17 -0.81 near -0.02 -0.15
 3 to 2 0.30 -0.29 near 0.00 0.00
 To visualize the correlation peak from fixed pattern noise, you need to
 run the program with options that will make it save unbinned correla-
 tions with no high-frequency filtering. This is available only when
 not using a GPU and when specifying more than one filter.
 alignframes -bin 1,1 -vary 0.05,0.06 -deb 102 -frame 1,5 -nosum \
 Feb15_10.13.15.mrc
 There will be series of lines indicating the names of saved images and
 the measured shift between a pair of frames. Pick one with more than a
 few pixels of shift, which may end up being the one between frames 0
 and 4. For example:
 Saved lf correlation image frame 4 in ./faimg-18.mrc mean -0.00
 Saved correlation image frame 4 in ./faimg-19.mrc mean -0.03
 4 to 0 -0.59 -2.70 near -1.90 0.14
 The last line shows the shift between frames 4 and 0, then the shift
 that it was assumed to be "near" when comparing with the maximum
 allowed shift. You want to examine the "lf correlation image" in
 "faimg-18.mrc" ("faimg-19.mrc" is a small subarea with high-frequency
 filtering, centered on the expected shift, so is not suitable). You
 can open this file directly in 3dmod, but it will easier to load a cen-
 tered subarea. Run "header faimg-18.mrc" to see its size, NX and NY.
 Determine these values:
 xst = NX / 2 - 200
 xnd = NX / 2 + 199
 yst = NY / 2 - 200
 ynd = NY / 2 + 199
 and open the file with
 3dmod -x xst,xnd -y yst,ynd faimg-18.mrc
 Open a slicer window and close it; this will place the current point
 marker on the middle pixel. Zoom the Zap window up to about 6 and turn
 off the high-quality display (the checkerboard) to see individual pix-
 els. Adjust black and white levels to 0 and 255. The degree to which
 this central pixel stands out indicates the amount of fixed pattern
 noise. Increase the black level to see just how much it stands out.
 If you can see 4 brighter pixels around the central one, the situation
 is particularly bad.
 You may wonder where the real correlation peak went! It is very dif-
 fuse and the high-frequency filtering is essential. Use Edit-Image-
 Process to open the processing dialog and select the Fourier filtering
 panel. Set the high frequency cutoff to your filter value and the
 falloff to one-seventh of that and press "Apply" to filter. The real
 peak will now be prominent. If it is close to the origin, you might
 see its position change with different filters as it merges with the
 fixed pattern peak.
AUTHOR
 David Mastronarde
SEE ALSO
 Email bug reports to mast at colorado dot edu.
IMOD 5.2.0 alignframes(1)

AltStyle によって変換されたページ (->オリジナル) /