ELECTRON TOMOGRAPHY
ALIGNMENT AND RECONSTRUCTION
Introduction
This is the method used at Albany for making reconstructions
from both single- and double-tilt series of projection images.
Step 1.
Conversion of images to SPIDER, framing, and 90-degree rotation.
Step 2.
Creation of files listing tilt angles and file numbers.
Step 3.
Interactive picking of gold bead markers.
Step 4.
Determination of alignment, first series.
Step 5.
Determination of alignment, second series.
Step 6.
Determination of alignment, double tilt.
Step 7.
Image alignment.
Step 8.
Test or final single-tilt reconstruction.
Step 9.
Double-tilt reconstruction.
After the reconstruction is made, the following steps are commonly done:
Step 10.
Minimize the size of the reconstruction, rotate volume.
Step 11.
Image enhancement and visualization.
Step 12.
Save (backup or archive) some of the files.
Step 13.
Use of the tomography database (only available at Albany).
The method has general application. At other sites, changes in the
procedure files for Step 1 will be needed, depending
on the image recording method used. Links to sample data and output files
are provided.
Details on the commands within the procedure files (b**.dat) can be found
in the comments in the procedure files. A comment starts with a semicolon
(;), and a line starting with (;) is not counted as a command line. Full
details on the commands, including links to source code, can be found
in the SPIDER
documentation.
We routinely make a file called info.dat
which includes all the specimen and microscope information, the pixel
size, and notes on details of the reconstruction. This file is kept in
the directory with the data. When the reconstruction is finished, only
data which can't be automatically re-created with the procedure files is
archived on CDROM. At Albany, the tomography database can be used to
enter all the information which would otherwise be listed in
info.dat
Updated 01/28/2000, Michael Marko
| input files | from scanner or EM CCD system |
| output files | rot***.dat [windowed, rotated Spider
files] |
Notes:
- IMPORTANT: It is complicated to edit the procedure and document
files to deal with missed images within a tilt series. If an image is
missing or bad, or all the markers can't be picked on an image, make a
copy of an adjacent good image and number it for the missing one. The
marker document file (d_rot***.dat), which is
created in Step 3, must also be copied and
renumbered. The tilt
angle in the marker document file must be correct for that of the
copied image, not the missing image. The copies can be kept out of the
reconstruction, if desired, by editing the selection files SEL001.dat and/or SEL003.dat.
- In all cases, the tilt axis of the output images must be
approximately vertical (parallel to the image y-axis). At Albany,
the original projection images have the tilt axis horizontal, so
they are rotated in this step.
- The images must be square for double-tilt reconstruction. The
images should be as large as possible for accuracy in
marker picking, but not larger than the pixel size of the
computer screen.
- It is best to avoid image dimensions that are prime
numbers, since the double-tilt reconstruction routine, BP 3D works more slowly if such dimensions are used. A list
of prime numbers can be found in the documentation for FT.
- The examples are for a tilt series from -60 to +60 degrees with a
2-degree increment, resulting in 61 images. For double tilt, the
second tilt series is numbered 62-122.
- We use the project code (file extention) ".dat" for all files,
since our CCD system uses that form. Any three-letter
extention can be used, but all files in the project must have the
same extention.
- b01.dat is for 1024x1024 Tietz-format CCD
images from our
JEOL 4000FX .
- b02.dat is for 512x512 Tietz-format CCD
images. The images are resized to 900x900 for marker picking.
- b03.dat is for use with images scanned
with our Dage camera. It also does the correction for the
non-square pixels. The negatives should be scanned horizontally
so that the following procedure files can be used for either scanned
images or images recorded directly on the EM CCD camera.
Notes:
- If any tilt projections were missed, and images were copied to
replace them (see Step 1 ), the
ANG001/2.dat files will have to be edited.
- If fewer than all the projections are to be used in the reconstruction,
the appropriate SEL file(s) will have to be edited, but the ANG files
don't have to be edited as long as the file number (equal to the key
number) and the actual angle match.
- The second-set selection file is normally not used unless a
single-tilt reconstruction is to be made from the second-series
tilt images.
- Note that the ANG002 file starts with key=1, even though in the
example the file number starts with 62.
- b10.dat is for double-tilt
reconstruction (or two orthogonal single-tilt reconstructions).
- b11.dat is for single-tilt
reconstruction.
3. Pick markers, interactively using
WEB,
"Markers".
| input files | rot***.dat
[preprocessed projection images] |
Notes:
- First, display the zero-degree image from the first series (image
31 in the example) using WEB's "Markers". Pick an evenly-distributed set
of gold beads. The "center of gravity" of the marker beads should be near
the image center for double-tilt reconstructions. The absolute
minimum is 3 marker beads, and 10-12 is preferred.
- "Markers" will ask for the output file name and tilt angle. On
subsequent images, "Markers" will automatically increment both
appropriately, once it "learns" the pattern. Be sure to check that both
are correct. Read the files ANG001.dat and
ANG003.dat to check the proper tilt angle for
each image.
- To verify that the correct marker beads are being picked, open
another WEB and use "Annotate" to display the previous tilt image with
markers that have already been picked. Compare this to the current
image in "Markers"
- For the second series in double-tilt reconstructions, display the
second-series zero-degree image (image 92 in our case) in "Markers" and
the first-series zero-degree image (image 31 in our case) in "Annotate".
Be sure to use the same beads and the same number for each bead in both.
4. Find corrections to align first (y) tilt series.
(b20.dat)
Notes:
- Look at the file errors_first.dat.
If the marker errors are all about one pixel or less, the alignment
was successful. If some markers have an error above 2-3 pixels, you
should look for the problem.
- Errors can be analyzed by checking the file
viewerror_first.dat for projection image
numbers which have a large average marker error. If an image is found to
have a large error, recheck the position of the markers picked
on that image.
- Errors of individual markers on each image can be analyzed by selecting
full output when running
MK
interactively, which displays the individual marker coordinates and errors on
each projection image. A marker with an unusually high error is likely picked
in the wrong position. This data can be saved as a series of files if the
corresponding prompt is answered.
- An easy way to identify incorrectly-picked markers is to use
b62.dat. This procedure file makes a series of
images of the marker positions, with a line drawn from marker to marker
on each image. When viewed with WEB, using montage with movie turned on, the
shape of the lines will change more than usual when the image with the bad
marker position is reached.
- Using b63.dat, you can align the images
made with b62.dat, and view them with WEB, using montage
with movie turned on. This will show what the final alignment of the
tilt series will look like. The pattern of lines should appear to rotate
smoothly.
- If the errors shown with MK start to increase rather continuing
to decrease, use b64.dat, to change the initial tilt
angle. Then use b65.dat instead of b20.dat (i.e., use the file cct002.dat, made by
b64.dat as the "previous corrections" file for MK.
Each time, be sure to delete cca002.dat and cra002.dat before
using b20.dat or b65.dat again.
- If all of these fail to show where the problem is, run
MK
again and save cca002.dat. Then run
MK
once more interactively using cca002.dat
as input when prompted for "previous corrections". If the errors are
improved, rename the final output files to the standard names
(cca002.dat and cra002.dat)
- If you decide that one or more markers shouldn't have been chosen,
use b67.dat to create a new set of marker files
with the undesired markers removed. Note that you will then have to
edit b20 and b21 for the new names of the marker files.
5. Find corrections to align second (x) tilt series.
(b21.dat )
Notes:
6. Align first set to second set and make
combined angle list. (b30.dat)
| input files | cra002.dat
[3-D coordinates file, first set (y)]
crb002.dat
[3-D coordinates file , second
set (x)]
ANG001.dat [first-set (x-tilt) angles
file]
ANG002.dat [second-set (y-tilt) angles
file]
|
Notes:
- The 3-D errors for alignment of the two sets are found in
errors_both.dat. The average error is
shown on the last line.
- If the errors for the individual sets were low, these errors
should also be low. If the errors are very high, the same markers
may not have been picked for both series, or there might have been
a difference in image dimensions. Otherwise, consult your
friendly programmer.
- The angles_both.dat file will
include the angles for all the projections, even if they won't all be
used in the reconstruction.
7. Apply corrections to align the tilt images.
(b40.dat, b41.dat)
| input files | rot***.dat
[unaligned y-tilt projection images, 1-61]
rot***.dat [unaligned x-tilt projection images, 62-122]
cca002.dat [image correction file, y
tilt]
ccb002.dat [image correction file, x
tilt]
c3c202.dat [rotation angles between
series] |
| output files | rdb***.dat [aligned projection images, both
sets] |
Notes:
- Use b40.dat for double tilt.
- Use b41.dat for single tilt.
- Look at the aligned images, rdb***.dat, with WEB using montage with
movie turned on. There should appear to be a smooth rotation, and
the artifacts on the edges of the images (from wrapping during alignment)
shouldn't extend too far into the center of the image.
8. Single-tilt or test reconstruction. (b50.dat,
b51.dat)
| input files | rdb***.dat
[aligned projection images (first set images only)]
ANG001.dat [first-set (y-tilt) angles
file]
SEL001.dat [first-set selection
file] |
| output file | vol001.dat
[single-tilt reconstruction] |
Notes:
- For both b50.dat and
b51.dat, note that the first field on line 5
is the radius of the reconstruction. Use the y-dimension of the
aligned tilt images, divided by two, then subtract two.
- Use b50.dat to make a test reconstruction.
Only 5 slices, usually in the middle of the volume (edit line 6 of b50.dat) are made. Look at a central y slice of
the test volume to see if you guessed correctly with the thickness
(second field, line 5). If you do not see the top and bottom of the
specimen, increase the thickness on line 5 and try again. If you
think the specimen may have been tilted when the microscope stage was
at zero tilt (e.g. due to a bent grid), it would be wise to check
test reconstructions nearer the edges of the input images, as well.
The test reconstruction only takes several seconds.
- Use b51.dat to make the full
reconstruction. For the 507x507x200 volume shown in the example,
the reconstruction takes about 45min on a single R5000
processor. If the volume will not comfortably fit in RAM, the
memory has to be set (lines 1-3) to the expected volume size, plus
about 100MB extra. Remember that SPIDER images are 32-bit, so
the size of the volume in bytes is the pixel length x width x
depth x 4.
- If you have a multiple-processor machine, use lines 4-6 to
select the number of processors you wish to use.
- The filter value (line 7) is 0.3. This seems to be optimal.
9. Double-tilt reconstruction.
(b52.dat )
| input files | rdb***.dat
[aligned projection images]
SEL003.dat [double-tilt selection file]
angles_both.dat [Eulerian angles for
combined sets] |
| output file | vol101.dat [double-tilt reconstruction] |
Notes:
- Use the thickness you determined in Step 8, and edit lines 12 and
13 accordingly. If you want to reconstruct a partial volume, use
the full thickness in line 12, and indicate the desired z-slice range
on line 13.
- Be sure to allocate enough memory for the reconstruction. If
the size of the volume will be near the size of RAM, use lines 1-3
and set the memory allocation to the size of the volume plus
100MB.
- If you have a multiple-processor machine, use lines 4-6 to
select the number of processors you wish to use.
- The filter value (line 14) is 1.0E+4. This seems to be optimal.
If you want to experiment, see SPIDER documentation on BP
3D.
- The double-tilt reconstruction takes about 10 times longer than
the single-tilt reconstruction, so if you have a slow machine you
may want to do a small (e.g. 128x128x128) test volume first.
10. Minimize the size of the reconstruction, rotate volume
- Window (
WI)
the reconstruction to eliminate blank or unwanted volume.
- If the specimen is slightly tilted, rotate the volume (RT
3D), and re-window.
- If your machine is slow or lacking in
memory, for rotation try b70.dat or
b71.dat
instead of RT
3D.
11. Image enhancement and visualization
- It will usually be necessary to threshold the volume to optimize the
contrast range for display. First use the "contrast" slider in WEB to
get an idea how much to cut the top and bottom of the density range.
Then note the density range from FS.
Use TH
and experiment to find the best min and max values to use.
- If desired, reverse the contrast using the SPIDER command AR:
P2=:P1*(-1).
- We often use
VoxelView (Vital Images)
to conveniently display and render the volume, after using
CP
TO VV.
- We use
Sterecon
or Tinkerbell (Li, et al. (1997) J. Struct. Biol. 120:266-275) to
segment objects in the volume,
Iris Explorer to make surface models,
and SGI Sceneviewer or
Cosmoplayer
to view the models.
- As a minimum, an animation of the slices can be made by picking
slices with PS
X, PX
Y, or PS
Z, converting to SGI image format using CP
TO SGI, then making a movie using SGI moviemaker (to be played by movieplayer).
- The volume can be segmented by tracing the slices using
Sterecon.
Usually, every two z-slices from
the volume are added, reducing the number of slices to be traced by
two. This in fact better reflects the actual z resolution. Batch file
b80.dat makes the added-together slices and enlarges them
for more accurate tracing. It also makes a series of SGI (*.rgb) images
of the added slices, at original size, for creation of an SGI movie to
use when following structures during tracing. Note that sets of z-slices
can also be made into stereopairs for tracing. Please contact M. Marko at
marko@wadsworth.org
if you are interested in
Sterecon.
12. Save (backup or archive) the following files:
- Original files from the CCD camera or scanner.
- All procedure files.
- All document files (marker document files, all list
files, correction and coordinate files, information file).
- The final windowed, thresholded Spider volume.
13. Archiving using the database at Albany.
- The web-based tomography database is designed to make it easy to
keep track of the reconstructions. It also serves as a means for
archiving all the necessary data from each reconstruction. It was
written, and is maintained by
Yu Chen.
- Database location: From SGI workstations, use
http://newton15-250/archivedb/search_t.asp.
From PC's use
http://luzon/archivedb/search_T.asp.
Use of the database to find information on reconstructions
- Viewing a database page: You can select the page (i.e.
project or reconstruction) you want to see from the default list, or
you can generate a new list of pages based on a search. Any word(s) in
the database text can be entered, and the search can be refined by any
of the categories in the pull-down lists. You can also sort the listed
pages according to any of the column headings of the list table, just
by clicking on the heading.
- Security: You can look at all the information on any page,
and you can download any of the data which was archived, but editing
the information or uploading more data requires a password.
- Downloads: Click on the category of data you want to
download. You will be prompted for where you want to put the downloaded
file. Each category has only one associated file. In the case of the
"raw data files", "marker files", and "procedure and other doc files", the
original individual files will have been saved as a single zipped,
compressed file. Accordingly, they will end in Z. After you download
the zipped files, you will have to extract the original files.
- Extracting zipped files:On the PC, you can use WINzip to
extract any or all of the files desired. On the SGI, you will have to
uncompress, then tar the file, which will restore all the original
files. For "raw data files" type uncompress raw.tar.Z, then
tar xvf raw.tar. For "marker files" type uncompress
mrk.tar.Z, then tar xvf mrk.tar. For "procedure and other doc
files" type uncompress misc.tar.Z, then tar xvf
misc.tar.
Putting information in the database
- Entering a new reconstruction: Chose any existing database
page, then click on the "Add" button. A blank database page will
appear, ready to edit. When you choose the author from the list, you
will have to use the password for that author for any future editing.
If you know the password, you can change it any time. If you chose
"other" as an author, the data will not be password protected.
- Pasting text: You can paste large text blocks into the
database windows. For example, you can paste in your whole "info.dat"
text, if you are still making one in addition to the information you
put in the database. You should paste in all the marker alignment
results, from the data saved in the errors files. Although the windows
are small in the edit mode, when the data is displayed your text will
look as it did in your original window.
- Saving text: Just click on the "Save" button.
Important: You must first save the text before uploading any
data files. If you put in all the text, then click on "Upload Image
and Other Files" without having saved the text, the text will be
blank.
- To upload data files:Type the complete location path of the
file you want to upload in the appropriate box. This information is
just a record of where the files were originally. When you click on
"Upload Image and Other Files", you can either again type (or paste)
the complete location path of the files in the boxes provided, or you
can use the browse utility provided. You don't have to fill in all the
boxes at each upload.
- Sample image:You should prepare a JPG image of a sample
z-slice from the volume. It will be used on the database page as an aid
in identifying the reconstruction. You will be asked for this file
when you do an upload. A small version of the image will be shown when
the database page is displayed. If you click on the small image, you
will get the full-size image. So you could alternatively put a montage
of several slices, or some slices and a model here.
- Compressing/zipping files:The "raw data files", "marker
files", and "procedure and other doc files" have to be zipped and
compressed to only one file per category. On the PC, use WINzip. On
the SGI, this can be done on a single command line. For example, to
make a compressed file of all the raw images, use tar cvf - raw* |
gzip > raw.tar.Z. For the marker document files, use tar cvf -
d_* | gzip > mrk.tar.Z. For all the other document files (assuming
you use the naming conventions suggested in this webpage), use tar
cvf - A* S* b* c* i* | gzip > misc.tar.Z This will make the three
files: raw.tar.Z, mrk.tar.Z, and misc.tar.Z which you can put into the
database. If you wish to save more than one reconstructed volume,
you can zip them together using tar
cvf - vol* | gzip > vol.tar.Z
- Archiving:Storing data in the database is an alternative to
archiving it on a CDROM. The database is maintained and backed up
with the intention of being a "safe" place for long-term archiving.