TxBR is developed on top of the IMOD utilities. At this time, it does not offer any fiducial tracking options and it loosely follows the eTomo reconstruction scheme. In the following, we assume the user familiar with its process.

#### TxBR in one command line

##### Running TxBR on single and multiple tilt series

As a starting point for reconstructing volumes, three files need to be provided for each series: the * preali * files, the * fid * files and the rawtlt files [files containing the tilt angles] (cf IMOD). For instance, if we have two series called basenamea and basenameb, a total of six files should be accessible to the TxBR calculations: basenamea.preali, basenamea.fid, basenamea.rawtlt, basenamea.preali, basenamea.fid and basenamea.rawtlt.

To run the TxBR reconstruction for one series, here basenamea, just type the command line:

runtxbr.py -b basenamea

For reconstructing a volume from mutiple tilt series, a comma separated list of the basenames has to be provided to the runtxbr.py script; for instance in case of a dual tilt series, one should type:

runtxbr.py -b basenamea,basenameb

It is very important to note that because TxBR jointly process multiple series, the fiducial files of all the distinct series are related. The marker list should be the same in all the .fid files, even though one fiducial marker might be not visible in a certain series.

Alignment of the micrographs, reorientation of the specimen volume, filtering, backprojection and series combination will then follows in an automatic sequence; at the end, the final volume will be displayed in an IMOD windows.

##### Miscelleanous options

Different options are available for all the TxBR scripts. For a list of the options available to the runtxbr.py script, type

runtxbr.py --help

In particular, to start taking into account of the electron beam curvilinearity, you can set the n_{2} flag to an integer value higher than 1 (default value for a projective model); in practice, do not set a value larger than 6 for n_{2}.

You can find a test dataset of a *Flock House* virus study in the examples/data folder of the TxBR directory. It is also directly available for dowload. Files needed to reconstruct the volume from a dual tilt series with TxBR are included in the tar file fhv6.tar.gz. A triple tilt series dataset of a *Caulobacter Crescentus* specimen is also available for download.

#### Running TxBR step by step

Fig.1: Tilt Series *a*.

Sometimes, in difficult cases, it is convenient to run the basic reconstruction steps manually, one at a time; those are alignment, filtration and backprojection. Benefits are two-fold: help finding a better suited approximation for the micrograph alignment; help troubleshooting a problem within the input files (in particular the fiducial files).

In the following, we illustrate those core steps with processing the fhv6 sample case, the dual tilt series dataset. On the right, micrographs of series *a* are displayed while specimen is rotating; green dots represent the fiducial markers (gold beads) spread on the specimen at sample preparation. Rotation axis appears here vertical.

##### Micrograph Alignment

Alignment of the electron micrographs in TxBR is based on a bundle adjustment technique [1]. In short, the 3D positions of the fiducial markers used during tracing are determined at the same time as the projection map, by just minimizing a **reprojection error** χ.

Given **x** ^{τ,θ} the projections of marker τ onto a micrograph θ, the bundle adjustment consists in minimizing the following quantity

relatively to **X** ^{τ} and the coefficients of *P* _{θ}, which are respectively the 3D position of marker τ and the projection that sets correspondence between a point in the specimen and a point in micrograph θ. It is important to note that there is a gauge ambiguity problem; multiple solutions for **X** ^{τ} and *P* _{θ} are possible because those two sets of variables only appear in χ in the form *P* _{θ}(**X** ^{τ}). Let's note at this point that we can choose a specific solution to enforce flatteness on a specimen.

To run the alignment for the fhv6 dataset, just type the following command:

txbr_align.py -b fhv6a,fhv6b

The TxBR program will then collect information about the specimen orientation and the micrograph marker traces respectively from the *rawtlt* and the *fiducial* files. Starting from an initial estimate of the 3D position of the markers, the **reprojection error** is minimized with respect to both projection map coefficients and marker locations. When minimization is reached, the gauge ambiguity is usually raised by choosing the projection map the closest to its orthogonal solution.

With appending the --doPlot flag, graphs displaying information about the alignment procedure will pop up. Below, some of those graphs one obtained for the fhv6 dataset.

Figure 2 and figure 3 display the square distance error between the marker traces and their re-projections, respectively as a function of the tilt index and the marker (patch) index, after the optimization has been finalized. Note that the tilt index list contains micrographs of all the series used for reconstruction. In our *Flock House Virus* example, both series *a* and *b* contain 63 micrographs for different sample orientation; the overall tilt index list ranges therefore from 1 to 126 [series *a*: 1-63; series *b*: 64-126].

Fig.2: Square Distance Error by Tilt | Fig.3: Square Distance Error by Fiducial Marker |

The square distance error by tilt (figure 2) or by fiducial marker (figure 3) can provide very meaningful information concerning the accuracy of the input files, notably the tracking of the markers. If, in Figure 3, a relatively huge pick was present at a certain patch index, a mistake would probably have been made while tracking this particular marker. It is then possible either to remove the marker from all the fiducial files or to correct for the inaccuracies. Finally, note the presence of the slight discontinuity in figure 2 when switching from series *a* to series *b*. This effect is always happening when dealing with multiple tilt series.

Fig.4: Square Distance Error | Fig.5: Reprojection (red) of the fiducial markers (green) |

TxBR also offers the possibility of monitoring the reprojection error in a more atomic way: by tilt and by marker. In (figure 4), the error is plotted versus the tilt index for each marker. In (figure 5), the experimental traces (green points) on the CCD camera (defined by a *x*-*y* frame) are plotted together with the estimated reprojection from the bundle adjustment procedure (red cross); it clearly appears that the error is in the subpixel domain as it is not possible to distinguish a mark from its reprojection.

Fig.6: 3D locations of the fiducial markers.

Once the minimization of χ is achieved — a non-linear conjugated gradient algorithm is used to this purpose — the positions **X** ^{τ} for the gold markers within the specimen become accessible. In figure 6, a simple animation illustrates the results we obtained for the fhv6 dataset. Note how the bundle adjustment algorithm was able to dissociate gold particles that belong to the two different specimen boundaries.

In the first order approximation (*n _{2}=1*), the mean reprojection distance error for the dual tilt series fhv6 is around 0.68 pixel. When run indepently for each tilt series, it is 0.16 pixel for series

*a*and 0.31 pixel for series

*b*.

Knowledge of the projection map *P* _{θ} presents more interest since it will enable us to implement the backprojection and obtain the final volume. Different model can be used for the projection map. In its simplest form, *P* _{θ} can be chosen as an affine map:

To account for electron beam curvinilearity, higher order terms need to be included in expression of *P* _{θ}.

During alignment, the TxBR code will display the affine map coefficients for *P* _{θ} whatever its approximation order (value of n_{2}). In figure 7, variations of the translation coefficients *t _{1} * and

*t*, the

_{2}*x*-linear coefficients

*g*,

_{11}*g*and

_{12}*g*and the

_{13}*y*-linear coefficients

*g*,

_{21}*g*and

_{22}*g*versus the tilt angle θ are displayed, respectively from left to right. The dots represent the

_{23}*ideal*values for these coefficients, when projection map are simply evaluated with rigid transformations — tranlations/rotations — and using the experimental tilt angle values (values that are fed into the specimen stage and collected in the

*rawtlt*file). Plain lines represent the bundle adjustment predictions for those coefficients.

Fig 7. Projection map coefficients.

Let's note that describing the projection map *P* _{θ} with simple affine transformations is already sufficient to account for eventual electron microscope magnification changes, as well as some other basic linear sample distortions. However, when the number of gold markers is low or when their spatial distribution is non-uniform, it can be difficult, given the poor tracking information, to determine accurately the six unknown variables per tilt of a simple affine map *P* _{θ}. This is often the case when fiducial markers are only located on one side of the specimen.

A possible remedy to this problem is to impose additional constraints during minimization. In the **orthogonal approximation** [2], we assume that the projection map expresses only with rigid transformations:

with

During the optimization process, three variables *(α ^{θ},β^{θ},γ^{θ})* per tilt θ — instead of the six

*g*— need now to be determined in the linear part of the projection map. The orthogonal approximation does not describe very well changes in magnification nor sample deformations; however it offers a more robust alignment scheme than the general approximation when the spatial distribution of the markers is poor.

_{ij}^{θ}To use the orthogonal approximation within TxBR, just add the --ortho flag in the txbr_align.py script call, like the following:

txbr_align.py -b fhv6a,fhv6b --ortho

In the case of dual tilt series dataset fhv6 for the for the *Flock House virus* study, the mean reprojection distance error in the orthogonal approximation is 0.75 pixel, understandably a little higher than in the pure affine case. A plot showing the variations of the orthogonal parameters versus the tilt index will pop up; it is displayed in figure 8 with *n _{2}=1*.

Fig 8. Orthogonal coefficients.

As mentioned above, electron beam curvilinearity can be included progressively in the scheme by increasing parameter *n _{2} * from its default value (

*n*). A non-linear contribution

_{2}=1*S*to the projection map is then added:

_{θ}*S _{θ} * is a polynomial function of

*X*,

_{1}*X*and

_{2}*X*, the three coordinates of a point in the space. It is important to keep in mind that the projection map are determined by the distribution of markers on the specimen. The higher the order, the higher the number of markers is needed, see ref [3].

_{3}When correspondences between the 3D biological specimen and its projections onto a micrograph are evaluated individually for each tilt index, we are in the **multiple beam** approximation (left side of figure 9). This approximation is flexible enough to describe variations in the electron beam (change of focus, possible drift...) while the tilt series is acquired. In the case of a plastic section for which gold markers remain on the boundary surfaces, the large internal zone free of markers in the specimen does generally not offer enough information for an accurate evaluation of the generalized projection maps, especially for high value of *n _{2} *. In that case

*n*, a more appropriate hypothesis is the

_{2}>2**constant beam**approximation (right side of figure 9), where the beam parameters are supposed to remain constant across the tilt series while the specimen rotates (see ref[2]).

Fig. 9 Multiple versus Constant beam approximation.

To run the TxBR alignment in the multiple approximation, a --multiple flag needs to be specified:

txbr_align.py -b fhv6a,fhv6b --n2 2 --multiple

Multiple and constant beam approximation are equivalent for order 1 (*n _{2}=1*) when electron beams are supposed to travel along straight lines.

For the the dual tilt series fhv6 and with *n _{2}=2*, the mean reprojection distance error is 0.6 pixel and 0.15 pixel, respectively in the multiple and constant beam approximation.

As we mentioned earlier, multiple solutions for **X ^{τ} ** and

*P*can be obtained during the bundle adjustment. Indeed if

_{θ}**X**and

^{τ}*P*is a minimum solution for χ, then for any invertible 3D transformation

_{θ}*T*, the transformed set

*T*

^{-1}(

**X**) and

^{τ}*T(P*is also minimizing χ. A realistic choice for

_{θ})**X**and

^{τ}*P*is to pick up the closest solution to the orthogonal case. This can be achieved from a geometrical point of view, with what we call the ellipse method [2]. For each plane perpendicular to the tilt axis, the family of rays hitting the camera edges should be enveloping a circle. Making sure this latter is not elliptic (with an aspect ratio ≠ 1) with an appropriate choice of transformation

_{θ}*T*can raise this gauge ambiguity. Furthermore, one can extract from this method refined informations about the tilt axis and rotation angles for the series; this can be used during the following step, the filtration step.

Let's finally note this idea can be extended further by choosing a solution that will enforce the reconstruction of a warped sample to be flat.

Results of the alignment step are stored in a configuration file. For the double tilt series fhv6[a,b], a file fhv6.txbr containing informations on the final projection map is created. This file will be used in the next two following steps, filtering and backprojection.

##### Filtering

Prior to the backprojection step, micrographs have to be sharpened. In the case of X-ray tomography, this is typically done by applying a Ram-Lak or a Shepp-Logan filter (see ref [4]).

For electron tomography, the situation is in its principle a little more complex (ref [3]); a practical approach consists in making use of the X-ray solution. At first, a remapping of the electron micrographs is performed so to mimic a straight ray case situation. Afterwards, one of the common X-ray filter (Ram-Lak/Shepp-Logan) is used, and finally the inverse remap is applied to the sharpened micrographs.

To run the filtering step by itself on the *Flock House* virus sample study, just type the following command:

txbr_filter.py -b fhv6a,fhv6b

For this step, the *txbr* file (generated in the previous alignment step) as well as the *preali* (or *st*) files are needed. Two MRC files called fhv6a.preali.SL and fhv6b.preali.SL (or fhv6a.st.SL and fhv6b.st.SL) will be generated, each containing the filtered micrographs for both series. In figure 10, the filtered output of the zero-tilt slice is displayed for both series fhv6[a,b].

Fig 10. Zero-tilt angle filtered micrograph for the two series fhv6a and fhv6b.

##### Backprojection

Once alignment and filtration completed, the backprojection step can be triggered; just type:

txbr_bckprj.py -b fhv6a,fhv6b

The volume will then be reconstructed block by block. Once this is done, one can merge the block together by running the following instruction:

txbr_bckprj.py -b fhv6a,fhv6b --finalize --doClean --doCombine

Here the --doCombine flag ensures all the different volumes of a multiple tilt series will be combined altogether in one single reconstruction; with specifying --doClean, the txbr_finalize.py program will remove from the hard drive the intermediate block files generated during the backprojection step. The final result is shown on figure 11.

Fig 11. The final reconstruction for the fhv6 dataset.

The name of the final MRC reconstruction file is a concatenation of the multiple tilt series basename (e. g. fhv6), followed by the Z index at which the reconstruction starts (e.g. *z*-50.0), and with the extension out. For our example here, this would be fhv6_z_-50.0.out.

One of the great strength of this reconstruction scheme, and particularly the bundle adjustment, is its capability to process seamlessly multiple tilt series. We refer to a *caulobacter* study for a triple tilt example and to a *Flock House* virus study for a triple tilt example.

Fig 12. Artefacts in multiple tilt series.

#### References

- B. Triggs, P. McLauchlan, R. Hartley, A. Fitzgibbon, Bundle adjustment – a modern synthesis, in: W. Triggs, A. Zisserman, R. Szeliski (Eds.), Vision Algorithms: Theory and Practice, LNCS, Springer Verlag, 1999, pp. 298--375.
- S. Phan, A. Lawrence, "Tomography of Large Format Electron Microscope Tilt Series: Image Alignment and Volume Reconstruction," Image and Signal Processing, Congress on, vol. 2, pp. 176-182, 2008 Congress on Image and Signal Processing, Vol. 2, 2008.
- A. Lawrence, J. Bouwer, G. Perkins, M. Ellisman, Transform-based backprojection for volume reconstruction of large format electron microscope tilt series. J. Struct. Biol. 2006;154:144--167.
- F. Natterer and F. Wübbeling. Mathematical Methods in Image Reconstruction (Monographs on Mathematical Modeling and Computation). SIAM: Society for Industrial and Applied Mathematics, 1st edition, December 2001.