restrictalign(1) General Commands Manual restrictalign(1) NAME restrictalign - Restrict tilt alignment parameters for low number of fiducials SYNOPSIS restrictalign options tiltalign_command_file DESCRIPTION Restrictalign will modify the parameter settings in a command file for running Tiltalign so that they are appropriate for the number of fiducials available. It uses two fundamentally different methods for reducing the number of variables being solved for. The original method, currently the default, is based on the ratio of measured values to unknown variables. Variables are reduced until this ratio rises to a target or minimum level. Although this ratio provides some guidance for how to avoid over-fitting, this method cannot take into account the signal-to-noise ratio of the data, namely how much random error there is in the measurements. Cross-validation The newer method is cross-validation: running Tiltalign numerous times with a small fraction of points left out, measuring how well each solution predicts the positions of the points left out, and computing an average "leave-out error". This error, not the mean residual error, accurately reflects whether a different selection of parameters gives a better solution or not. The mean residual will always go down when more variables are solved for (e.g, by adding a parameter to solve for or reducing its grouping), whereas the leave-out error will go down when the added variables improve the fit and go up when they over-fit to the data. The downside of this superior method of avoiding overfit- ting is that it takes much more time for the many runs of Tiltalign; this becomes a major consideration with local alignments and many fidu- cials. The variables tested are completely different depending on whether local alignments are to be tested. Without local alignments, the pro- gram tests a sequence of the global variables being solved for. For each variable, it tests with default grouping if there is no grouping, with intermediate grouping, with very large grouping, and with the variable fixed (or, for rotation, with solving for only one rotation angle), stopping when the leave-out error rises. The order of the tests is X-stretch and skew together, tilt angle, rotation, magnifica- tion, beam tilt, X axis tilt, and projection stetch. With local align- ments, the program can test either by restricting alignment variables in a similiar sequence, or by increasing the size of local areas together with the required number of fiducials in each, or with both kinds of tests. Here the sequence of variables is X-stretch and skew together, tilt angle, rotation, and magnification. It is recommended that the area requirements be tested first because the same requirement tends to be chosen regardless of which order they are done in, whereas the variables tend to be restricted more when tested before the area requirement has been increased. If robust fitting is being done, the program may first disable it per- manently if the ratio of measurements to unknowns is too low. If not, the program uses a weighted leave-out error computed with and without robust fitting to assess the benefit from robust fitting, and if the benefit is not above a criterion, it turns off robust fitting temporar- ily for all further tests simply in order to save time. Restrictions Based on the Ratio of Measurements to Unknowns In the old method, the program proceeds by applying a series of restrictions - grouping a variable instead of solving at every tilt, or fixing it instead of grouping - in a specified order until an appropri- ate ratio of measured values to unknown variables is reached. That ratio is picked based on two parameters, the minimum required ratio, and a target ratio. When two restrictions both give more than the min- imum ratio, the one closest to the target is chosen. To have the pro- gram always pick the first restriction where the ratio is above the minimum, set the target ratio equal to the minimum ratio. The -order option controls the order in which restrictions will be applied by changes in the magnification, rotation, and tilt solutions, but these are not the only changes that can occur. Before applying any of these restrictions, the stretching solution (X-stretch and skew), local alignments, and variable X-axis tilt (except between two halves of a tilt series) will be turned off. If these restrictions are suffi- cient, no further changes are made. When there are fewer than 4 beads, the beam tilt solution, projection stretch, and variable X-axis tilt between two halves of a tilt series are turned off; all of these involve solving for a single variable. The solution for one rotation angle is turned off with only one bead. When the ratio of measurements to unknowns falls below the minimum, robust fitting is turned off. The program always changes parameters so as to solve for fewer vari- ables than in the current file. If the ratio is already greater than the minimum and closer to the target than with any restriction applied, no change will be made. To use the program with the default settings with a single-axis tilt series, simply enter: restrictalign align.com to use the original method, or restrictalign -cross 1 align.com to do cross-validation when local alignments are not being used, or restrictalign -cross 1 -local 3 align.com to test the local area requirements then the local variables. The existing file will be renamed to align.com~ and the file with the changed parameters will be written as align.com, unless the -trial option is entered. OPTIONS Restrictalign 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. -align (-a) OR -AlignCommandFile File name Command file for running Tiltalign. If this option is not entered, the first non-option argument will be used for the name of the command file. -fiducials (-f) OR -NumberOfFiducials Integer Numbers of fiducial markers (beads) in the alignment model. With this entry, he program will assume that each bead is marked on every view. If this option is not entered, the program will use the number of contours in the fiducial model with more than one point, and count up the number of points in those contours. The latter will give more accurate estimates of the ratio of measurements to unknowns when there beads marked on only a sub- set of views. -views (-vi) OR -NumberOfViews Integer Number of views in the tilt series. If this option is not entered, the program will use the number of views in the image file listed in the command file. -target (-ta) OR -TargetMeasurementRatio Floating point Target ratio of measurements to unknown values. If two succes- sive restrictions give a ratio above the minimum required by the -minimum option, the restriction that gives a ratio closest to this value will be chosen. The default is 3.6. -minimum (-m) OR -MinMeasurementRatio Floating point Minimum ratio of measurements to unknown values. Restrictions will be applied until at least one ratio rises above this value. The default is 3.2. -cross (-c) OR -UseCrossValidation Integer With this option, the program will test for the value of restricting the alignment parameters using cross-validation. Namely, alignment is run repeatedly with ~10% of points left out, and the error in predicting the positions of the left-out points from the solution obtained with the remaining points is computed. A set of alignment parameters is considered to be better if it reduces this error, regardless of the effect on the mean residual of the fit with all points. If 1 is entered, sets of 5 points on adjacent views are left out, with error measured from the middle 3 points. If 2 is entered, contours will be left out instead. The latter approach is unsuitable if there are few contours. -local (-l) OR -LocalAlignValidation Integer Do cross-validation on local alignment parameters: enter 1 to test the variable selections, increasing the grouping or turning off magnification, rotation, tilt, and x-stretch and skew together. Enter 2 to test the required number of fiducials in local areas while increasing their target size (or reducing the number if that is specified instead of target size). Enter 3 or 4 to do both tests, first areas then variables with a 3, or variables then areas with a 4. These tests can take several to many minutes. No tests will be done on global variable selec- tions. Local alignment must be selected in the command file. -benefit (-b) OR -MinRobustBenefit Floating point Minimum percentage benefit (reduction in leave-out error) with robust fitting needed to keep using robust fitting during cross- validation tests. The benefit is the difference between the non-robust and robust weighted errors of the points left out, i.e., the weights from robust fitting with no points left out are applied identically to the prediction errors of the points left out without and with robust fitting. When the benefit is less than the give amount, robust fitting will be omitted in order to speed up the tests. The default is 2%. -order (-o) OR -OrderOfRestrictions Multiple integers Order in which possible restrictions should be applied to achieve the target. The restrictions are numbered as follows: 1: Group rotations 2: Solve for one rotation 3: Fix tilt angles 4: Group magnifications 5: Fix magnifications The default order is 1,4,3,2,5, which means rotations will be grouped, then magnifications grouped, tilt angles fixed, then one rotation solved for, then magnifications fixed. -skipbeam (-s) OR -SkipBeamTiltWithOneRot By default, the program will add a solution for beam tilt if and when it switches to solving for only one rotation angle. (If parameters are already set to solve for only one rotation angle, this switch does not occur and it will not add beam tilt.) With this option, it will not add the beam tilt solution along with this restriction. -trial (-tr) OR -TrialMode Output modifications to a different command file instead of replacing the input file. The output file will be named as the root of the input file plus "_new.com" -verbose (-ve) OR -VerboseOutput Output the errors at each step when doing cross-validation -PID Print process ID -help (-h) OR -usage Print help output -StandardInput Read parameter entries from standard input FILES The input file is renamed by adding a ~ to the end of its name and replaced with the new file, or new file is produced in trial mode with the root of the input name followed by "_new.com". AUTHOR David Mastronarde SEE ALSO tiltalign BUGS Email bug reports to mast at colorado dot edu. IMOD 4.12.35 restrictalign(1)