Refine Alignment

Overview

Refine Alignment is a front-end for an iterative refinement of the alignment parameters for EM tomography. Unlike EMTIAR, the other application which performs iterative refinement of the alignment, Refine Alignment does not simultaneously improve the reconstruction. Refine Alignment's algorithm is:

  1. Optionally mass-normalizes and filters the input tilt series.
  2. Applies the current alignment parameters to the tilt series from step 1.
  3. Computes a weighted backprojection reconstruction skipping every nth projection. Then projects the reconstruction to get an image for every nth projection. Repeats the process changing which projections are skipped until there is an image for every projection.
  4. Aligns the tilt series from step 1 to the tilt series from step 3. Updates the current alignment parameters.
  5. Repeats the operations starting with step 2.

The basic recipe for refining your alignment parameters with Refine Alignment is:

  1. Use the mass-normalization and alignment components of EMTAR to generate the final values for the mass-normalization parameters and an initial guess for the alignment parameters. If your data has fiducial markers, you can use BALIGN instead to generate the initial guess for the alignment parameters and then use the mass-normalization component of EMTAR to add the mass-normalization values.
  2. Start Refine Alignment. Enter the name of the tilt series in the "TiltSeries" field at the top of the dialog. Enter the name of the file with the mass-normalization parameters and initial guess at the alignment parameters in the "InAlignParam" field at the top of the dialog.
  3. Adjust other parameters. Parameters that are commonly changed are:
    The resolution level to process
    If you've added multiple resolutions to the input tilt series using AppendRes with a z scaling of one, then you can enter the resolution level (zero is the highest) to process in the "Resolution" field. The generated alignment parameters will always be in terms of the coordinates of the highest resolution. The generated reconstruction will be at the selected resolution level. Size-related input parameters are automatically scaled by the resolution factor so you should choose values for those that are appropriate for the highest resolution. Performing initial refinement at lower resolutions can significantly speed up the process because the reconstructions are smaller.
    Bounds of the intermediate reconstructions
    The bounds are controlled by the "Reconstruction shift" and "Reconstruction Z size" fields. The x and y dimensions of the reconstruction are constrained to be the same size as the x and y dimensions of the input tilt series. EMTAR has methods to interactively select the bounds; you can use them and then copy the values from EMTAR's "Shift (XYZ)" field to the "Reconstruction shift" field in Refine Alignment and the third value in EMTAR's "Size XYZ" field to the "Reconstruction Z size" field in Refine Alignment.
    Number of reconstructions
    Sets the number of reconstructions used in each iteration. Using more reconstructions should slightly improve the reprojections at the cost of more computation time.
    Number of runs
    This is the number of iterations of refinement.
    Parallel execution
    If you have a cluster of computers or a single machine with multiple processors, you can speed up the reconstruction step by having pieces of the reconstruction done by different processors.
  4. Press the "Do It" button to start the alignment and reconstruction. Before pressing "Do It" you way want to alter the job submission settings by pressing the "Options" button at the bottom of the Refine Alignment dialog. The job submission settings are described in the batch processing interface documentation.

Besides a log file, Refine Alignment generates an alignment parameter file for each iteration. The names for these files are the contents of the "OutParamBase" field with an underscore, the iteration number, and the extension of the input alignment parameter file appended.

Topics

Overview | Resolution | Apply massnorm | Prefilter | Reconstruction shift | Reconstruction Z size | Number of reconstructions | Number of runs | Temporary directory | Parallel | Starting run number | Resolution scale | Full size | Weighting function | Particle XZ size | Hamming filter | Alignment method | Simplex filter | Offset | Phase weighting | Wiener coefficient | Center peak distance | 2nd peak threshold | Simplex deviations | Command line

Related Priism Topics

Priism | Batch processing interface | EMTAR | BALIGN | EMTIAR | two tilt series alignment


Resolution

The resolution parameter selects which resolution to process from the input tilt series. 0 is the highest (full) resolution. Normally all that you need to do to process a different resolution is set the resolution parameter. There are other parameters in the special parameters dialog that affect the handling of different resolutions (resolution scale and full size), but in typical cases the user interface chooses correct defaults for those parameters.

Return to overview


Apply Massnorm

The default behavior for Refine Alignment is to generate a mass-normalized (but not aligned) version of the input tilt series prior to starting iterations. The toggle button next to "Apply massnorm" controls whether or not to perform this initialization step. If you have already applied the mass-normalization parameters to the input tilt series, turn the toggle button off; otherwise, make sure it is on.

Two controls affect the application of the mass-normalization parameters during the initialization step. The menu at the end of the "Apply massnorm" line allows you to select the image formation model. You have three choices:

logarithmic
The mass density is linearly related to the logarithm of the electron counts.
scaled linear
The mass density is linearly related to the electron counts.
linear
The electron counts are used without modification as a measure of the mass density.

The other control is the pcBase field in the special parameters dialog. For the scaled linear or logarithmic image formation models, the value in that field controls the contribution of an additive term corresponding to a sheet of uniform mass density. The documentation for appl_prm has more information about the pcBase parameter.

Return to overview


Prefilter

For single axis tilt series, it is beneficial to apply a filter to remove the high frequency information in the input tilt series. If the toggle button next to the "Prefilter" field is on, a first order Butterworth filter is applied to the input tilt series. The cutoff frequency for the filter is the value in the "Prefilter". A value of one for the cutoff frequency corresponds to the Nyquist frequency for the data.

Return to overview


Reconstruction Shift

These three values (they are in units of pixels) shift the imaginary 3D tilt axis of the projection data from its default location; they are used to center the reconstruction volume on an object of interest. The default orientation of the 3D tilt axis has it pass through the point whose x and y coordinates are the center of the reference projection.

Return to overview


Reconstruction Z Size

This value sets the size of the z dimension, in pixels, for intermediate reconstructions. If you modify the value, you will also change the value for the z particle size in the "Special Parameters" dialog.

Return to overview


Number of Reconstructions

The value in the "# of reconstructions" field controls the number of reconstructions calculated during each iteration. More reconstructions per iteration increases the number or projections used to compute each projection (thus improving the quality of the reprojection) at the cost of increasing the amount of computation time. The absolute minimum number of reconstructions per iteration is two. The practical lower limit is three: for that case the computed reprojection for a projection will include the contributions from both of the adjacent projections. The upper limit is the number of projections in the tilt series: if you specify a larger value it will not affect the result or the computation time.

Return to overview


Number of Runs

The value in the "Number of Runs" field is the number of iterations that should be performed to refine the alignment parameters.

Return to overview


Temporary Directory

Refine Alignment will use the directory specified in the "Temporary directory" field for storage of the temporary results: the mass-normalized tilt series from the initialization step (a floating-point data set which has the same dimensions as the input tilt series), the aligned tilt series (a floating-point data set with the same dimensions as the input tilt series), a reconstruction (a floating-point data set with the same x and y dimensions as the input tilt series and a z dimension set by the z size of the reconstruction), a template tilt series (a tilt series with every nth projection where n is the number of reconstructions), and the reprojection result (a floating-point data set which is the same size as the input tilt series). At any given time, the temporary files present will be the result of the initialization step, if any, and either the aligned tilt series and reconstruction, the reconstruction, template tilt series, and reprojection result, or the reprojection result. If you use the parallel mode, additional space equivalent to another copy of the reconstruction will be used, and, if you use a machine list and one or more of the input files are not visible to some of the nodes, there will be copies of those as well.

By default, the temporary directory is a directory named tmp within your home directory. If you are using the parallel execution mode, the temporary directory should be accessible under the same name to all the computers used. You might change the temporary directory if you were short on space in the default directory or the default directory was on a slow disk and you have a fast disk with enough space for the temporary files.

Return to overview


Starting Run Number

The iterations of Refine Alignment will be numbered from the value in the "Starting run number" field to the value in the "Starting run number field" plus the number of runs minus one. That numbering only affects the names of the output alignment parameter files. If you had previously done n iterations and wanted to see the effect of performing m more with a record of the alignment parameters for all of the m plus n iterations, you would set Refine Alignment so the input alignment parameter file was the output alignment parameter file from the nth iteration, the number of runs was m, and the starting run number was n plus one.

Return to overview


Resolution Scale

The resolution scale parameter controls the scale factor applied to the alignment parameters and to the size-related input parameters (reconstruction shift, reconstruction z size, particle xz size, and characteristic lengths for the x and y shifts). In the typical case where you select a resolution level to process from the main dialog, the resolution scale factor will be set appropriately. In the case where you are running the iterative alignment and reconstruction on a downsampled tilt series but the input alignment parameters are from a higher resolution version of the data set, you should set the resolution scale to be the same as the downsampling factor (if the data is scaled down by a factor of four relative to the coordinates used for the alignment parameters, set the resolution scale parameter to four) and also adjust the values for the dimensions of the higher resolution data set.

Return to overview


Full Size

These two values set the x and y dimensions, in pixels, for the tilt series corresponding to the alignment parameters in the input alignment parameter file. For most cases the user interface can correctly determine these values from the dimensions of the input tilt series. One case where you will have to manually change these values is if you use a downsampled tilt series as the input to the iterative alignment and reconstruction but the input alignment parameters correspond to a higher resolution version of the same tilt series. In that case, you should enter the dimensions, in pixels, of that higher resolution tilt series in the "Full size" field and also adjust the resolution scale.

Return to overview


Weighting Function

The "Weighting function" menu controls the type of weighting done in the weighted backprojections. You have two choices:

elliptical-square
Can be applied to arbitrary tilt geometry of the projection set and handles the scaling problem (the scales of the reconstruction and of the projections correspond to each other with this weighting function). Tends to be more stable than the elliptical weighting function since it avoids the possibility of very large values at some projection Fourier points. The elliptical-square weighting function is the recommended weighting function.
elliptical
Is similar to the elliptical-square weighting function but tends to be less stable.

Return to overview


Particle XZ Size

The two values in the "Particle XZ size" field are, respectively, the x and z dimensions in pixels of the particle assumed when computing the elliptical and elliptical-square weighting functions for the backprojection. By default, the particle's x dimension is the same size as the x dimension of the input tilt series, and the particle's z dimension is the same size as the z dimension for the intermediate reconstructions.

Return to overview


Hamming Filter

When the "Hamming filter" toggle button is on, a Hamming filter is applied prior to the backprojection. When it is off, a Hamming filter is not applied prior to the backprojection.

Return to overview


Alignment Method

Sets the method to use for alignment. You have three choices:

Talign + Simplex
Use a FFT-based cross-correlation to determine the translations followed by a simplex optimization of all parameters.
Talign
Use a FFT-based cross-correlation to determine the translations. The other parameters are not modified. This is the default.
Simplex
Use a simplex optimization of all parameters.

Return to overview


Simplex Filter

If the "Simplex filter" toggle button is on and you have selected an alignment method that includes the simplex optimization, a high pass filter will be applied to the data sets prior to the simplex optimization. When the "Simplex filter" toggle button is off, a high pass filter is not applied prior to the simplex optimization.

Return to overview


Offset

If the "Offset" toggle button is on and you have selected an alignment method that includes Talign, a shift along the tilt axis will be induced with the intent of keeping the peak corresponding to the best shift parameters (that peak would likely be near the origin if the input alignment parameters are sufficiently good) away from the origin which receives special treatment. Before the alignment parameters are written out, the program compensates them for the induced shift. When the "Offset" toggle button is off, no shift along the tilt axis is induced when using one of the methods which include Talign.

Return to overview


Phase Weighting

If the "Phase weighting" toggle button is on and you have selected an alignment method that includes Talign, phase weighting will be performed to enhance the cross-correlation peak at the expense of less robustness in the face of noise. When the "Phase weighting" toggle button is off, phase weighting is not used to enhance the cross-correlation peak.

Return to overview


Wiener Coefficient

When you use phase weighting of the cross-correlations, there is a term like that in a Wiener filter to keep things well behaved when the amplitude of the cross-correlation value in the frequency domain approaches zero. The term is an estimate of the high-frequency power spectral density times the value in the user interface's "Wiener coefficient" field. A higher value for the "Wiener coefficient" increases the suppression of the low amplitude components. The default value is 100.

Return to overview


Center Peak Distance

With the alignment methods that include Talign, the alignment algorithm will try to cancel out the effect of a peak at the origin by subtracting out a radial average over the central 7 x 7 region from that region. The alignment application only performs that subtraction if the largest value in the central 7 x 7 region occurs at the center and the quadratic fit to that point and its four nearest neighbors gives a peak position, (xp, yp), where both the absolute value of xp and yp are less than a threshold value. The threshold value is, by default, 0.05 pixels, You can change the threshold by modifying the value in the "Center peak distance" field.

Return to overview


2nd Peak Threshold

With the alignment methods that include Talign, the algorithm prefers peaks in the cross-correlation that are away from the origin and only takes the peak at the origin if the next highest peak (after masking out the origin) has a height less than f times the height of the peak at the origin. The default value of f is .001. In the graphical user interface, alter the value in the "2nd peak threshold" field to alter the value of f.

Return to overview


Simple Deviations

These six parameters set the characteristic length for each of the six alignment parameters that can be refined when aligning a section from the tilt series to a section from the reprojection. A characteristic length scale of zero for a parameter causes the simplex method to not refine that parameter; in the graphical user interface, you turn on or off the refinement of a parameter with the toggle button adjacent to the field which displays the characteristic length. The six alignment parameters are the x shift (in pixels), y shift (in pixels), rotation (in radians), isotropic magnification factor, the orientation angle for the anisotropic stretching axis (in radians), and the anisotropic stretching factor. The first four parameters have a direct effect on the output alignment parameters. The last two (the orientation of the anisotropic stretching direction and the anisotropic stretching factor) do not.

Return to overview


Command Line

Refine Alignment simply generates a script that runs the command-line application, ra. The command-line syntax for ra is (optional parts are enclosed in brackets):

    ra input_tilt_series input_align_param \
        output_align_param_base [options]

The options that ra understands are:

-bkgopt=option
Causes ra to use option with the command specified with -rshcmd= when that command is to be run in the background. By default, ra uses "-n" as the option.
-cpd=d
To reduce the effect of a central peak, the Talign algorithm will subtract off a radial average from the central 7 x 7 if the brightest point in the central 7 x 7 occurs at the center and a quadratic fit to the center and its four nearest neighbors gives a peak position, (xp, yp), where the absolute values of xp and yp are less than d. The default value of d is 0.05 pixels.
-dev=xs:ys:rot:mag:axis:stretch
Sets the characteristic length for each of the six alignment parameters that can be refined when aligning a section from the tilt series to a section from the reprojection. By default, ra uses a characteristic length of one pixel for the x and y shift, a characteristic length of zero radians for the rotation and orientation of the asymmetric stretching axis, and a characteristic length of zero for the magnification and asymmetric stretching factor.
-filter=type
Sets the weighting function for the backprojections. type must be one of the following:
1
elliptical weighting function
2
elliptical-square weighting function (the default)
-fullsize=nx:ny
Specifies the dimensions, in pixels, of the tilt series corresponding to the alignment parameters in the input alignment parameter file. If you do not set this option, ra will use the dimensions of the highest resolution in the input tilt series. A case where you would want to use values other than the defaults is when the input tilt series has been downsampled and the input alignment parameters are for a higher resolution of the tilt series. In that case you would also want to specify the -rscale option as well.
-hdfilt=i
Enables the Hamming filter in the backprojection calculation. i can be any integer value.
-imform=code
Sets the image formation model used during the initialization step. Valid values for code are:
0
logarithmic (the default if the input parameter file contains mass-normalization parameters)
1
scaled linear
2
linear (the default if the input parameter file does not contain mass-normalization parameters)
-imod=m
Sets the method to use for alignment. m may be one of the values listed below.
0
Use Talign (a FFT-based cross-correlation) to determine the translations followed by a simplex optimization of all parameters.
1
Use Talign (a FFT-based cross-correlation) to determine the translations. The other parameters are not modified. This is the default.
2
Use a simplex optimization of all parameters.
-machinefile=file
If you wish to use parallel execution on a cluster of machines, use -machinefile= to set the name of the file containing the list of processors to use. The format of the file is described in the documentation describing parallel execution. If you wish to use parallel execution on a machine with multiple processors, do not use -machinefile= or use it with an empty file name.
-mult=s
Sets the scale factor, s, for the noise component when performing phase weighting in an alignment method that uses Talign. The default value for the scale factor is one hundred.
-no_nodecheck
If a list of machines has been supplied with -machinefile=, disables the checks on whether all of the compute nodes can see the temporary directory and whether copies of input or output files have to be kept in the temporary directory for the compute nodes that would otherwise not be able to see those files. Only use this option if you know the temporary directory and other files are visible to the compute nodes and you want to avoid the extra overhead of the additional checks.
-nofilter
If specified, a highpass filter is not applied when you use simplex optimization in the alignment; otherwise, a highpass filter is applied when you use simplex optimization.
-nooffset
If specified, no offset along the tilt axis is applied when you use one of the alignment methods which include Talign; otherwise, an offset is applied along the tilt axis and then compensated for prior to writing out the alignment parameters.
-np=n
Sets the maximum number of processors to use when parallel execution is enabled. If -machinefile= is used with a non-empty file name, ra will by default use all the processors listed in that file; otherwise, ra defaults to using two processors.
-nrecon=n
Sets the number of reconstructions per iteration to be n. n must be an integer greater than one. If you do not set this option, the number of reconstructions per iteration will be the smaller of ten and the number of projections in the input tilt series.
-parallel
Enables parallel execution. By default, ra does not attempt to use parallel execution.
-pcbase=b
Sets a factor that comes into play if the scaled linear or logarithmic image formation model is used during the initialization step. By default, ra assumes a value of 0.05.
-phaseweight
If specified, phase weighting is done when you use an alignment method that includes Talign; otherwise, phase weighting is not done.
-prefilter=c
Enables filtering of the input tilt series to remove the high frequency information. c is the cutoff frequency, as fraction of the Nyquist frequency, for the filter.
-reconz=nz
Sets the z dimension of intermediate reconstructions, in pixels. By default, the z dimension is one fourth the size of the x dimension of the input tilt series.
-res=i
Selects i as the resolution to process from the input tilt series. i must be a non-negative integer less than the number of resolution in the tilt series. Other command-line options affecting the processing of different resolutions are -rscale and -fullsize, but, in normal circumstances, it is sufficient to use -res by itself. If you do not specify this option, the highest resolution (zero) is processed.
-rscale=i
Controls the scale factor (1.0 / i) applied to the alignment parameters and size-related input parameters to compensate for processing a lower resolution. i must be a positive integer. If you do not set this option, i defaults to be two raised to the power of the resolution level selected with -res. A case where you would want to use a value different than the default is when the input tilt series has been downsampled and the input alignment parameters are for a higher resolution of the tilt series. In that case you would also want to specify the -fullsize option as well.
-rshcmd=cmd
Sets the command used to start launch processes on remote machines in the parallel execution mode. By default, ra will use "ssh".
-runs=n
Sets the number of iterations of refinement to perform. By default, ra will perform a single iteration.
-shxzy=xshift:yshift:zshift
Specifies the shift, in pixels, of the intermediate reconstructions from the default position. By default, ra does not shift the intermediate reconstructions.
-sizexz=x:z
Sets the particle size used to calculate the weighting function for the backprojection. If you do not set this option, the particle's x size in pixels will be equal to the size of the x dimension of the input tilt series, and the particle's z size in pixels will be equal to the z dimension of the intermediate reconstructions.
-skip_init
Disables the initialization step for computing a mass-normalized tilt series.
-spth=t
In the Talign algorithm, cross-correlation peaks away from the origin are preferred. A peak at the origin is only accepted if the next highest peak (after masking out the origin) has a height less than t times the height of the peak at the origin. The default value for t is .001.
-start=i
Sets the number to associate with the first iteration. By default, ra will use a value of one.
-tmpdir=directory
Sets the directory used for temporary files. By default, ra places the temporary files in a directory named tmp within your home directory.

Return to overview