SerialEM HowTo: Positioning X, Y

Chen Xu

$BrandeisEM: ~emdoc-xml/en_US.ISO8859-1/articles/SerialEM-howto:positioningXY/article.xml 1 2013-02-11 01:39:23 xuchen Exp$

SerialEM is a powerful program for EM data collection. Although it is maybe originally designed for tomography data collection, it is equally powerful and flexible for single particle EM tasks.

One of the most frequently needed tasks is to go to an area on an EM grid. For example, after you take an image shot, you want to move to a new location with interested feature in the image view. Or you might want to go to a new location that is far a way from current location, say, another end of the mesh or a position in a different mesh. Usually, the way we do this is to drive stage trackball or joystick on the right pad while watching the moving on large screen, on an analog TV camera or on a CCD camera running in continuous mode. It can get job done this way. However, there are a few drawbacks including time and dose consuming. Apparently, as you can see, it is impossible to perform efficient, automatic data collection in this manual fashion.

Due to the mechanical inaccuracy of the stage movement, going to a target position accurately is perhaps the most challenging job in SerialEM and any other computer control program.

In this document, I want to show you some tips with SerialEM how to go to an area accurately enough, and conveniently.

You can also get pdf version of this document here.


Table of Contents
1 The Task
2 Using Macro, for a single point
3 Using SerialEM's built-in function "Realign"
4 In Low-Dose Mode

1 The Task

If there is one or more feature spots in a CCD image view, we want to move specimen stage to each spot accurately.

With SerialEM, one can accomplish this task manually by going through the following steps.

  1. Drag the image by holding down the right mouse and move the image until the interested spot is at the center of the CCD area.

  2. Click on ResetImageShift button in Image Alignment & Focus control panel.

  3. Take a shot, View in this example.

  4. Repeat last three steps until the spot is centered.

This is already better than manually driving the stage continuously. It is more convenient and saves dose for the specimen. However, the above procedure is still not ideal for advanced control such as automation. It has too many steps that require human interaction, let alone there are more than one spot we want to move to. Therefore, we need to make it even easier, if possible.


2 Using Macro, for a single point

Fortunately, SerialEM's macro provides a way to run the above multiple steps by one simple click. Below is an example of a macro named ZeroIS.

Example 1. ZeroIS.txt


MacroName ZeroIS
# a macro to "drag" the stage to target point and clear out
# any Image Shift

shot = V

Copy A P
ResetImageShift

Loop 2
  $shot
  AlignTo P
  ResetImageShift
EndLoop

After dragging the feature spot to the center of CCD in an image view, running this macro will move the stage to the spot, fairly accurately. This is a very handy little macro.

It is worth explaining a little to the actions in this macro so that we can understand how the SerialEM works.

After dragging the image to the new position where the interested spot is at the center of CCD view, the difference between old and new positions in the image view results in a value of ImageShift(IS). At the same time, the microscope state has been changed to reflect this IS value by involving tilting the beam. If one takes a shot with this IS value, the spot will end up in the center of CCD view. However, this is done by "zigzagging" the beam, NOT by actually moving the stage to the spot. This is fine for tomography application. In fact, this is used extensively in tomography tilt series data collection and montaging. However, for high resolution single particle data collection, we want to avoid any beam tilt if possible for final image.

The line in the macro

Copy A P

copies the image in buffer A to buffer P. This image is a "centered" one after dragging. Since buffer P is beyond the rolling buffer range, it is put there as reference for later image aligning.

ResetImageShift

clears out IS value to the scope. And, it compensates the ImageShift by applying the same information to the stage. Therefore, after this line, the stage will move close to the target position, even it is not precisely on it, yet.

Loop 2
  $shot
  AlignTo P
  ResetImageShift
EndLoop

takes a shot, and align this newly taken image to the "centered" reference image previous copied in buffer P, and compensates the IS by moving the stage. Iterating a couple of times can get to the position close enough to the target. This works very well for the magnification around M and SA range but not too high like 60,000X and above.


3 Using SerialEM's built-in function "Realign"

As you can see, the macro ZeroIS can only work for a single position, as you have to manually "drag" to that position first. And you might have the question in your mind already: "why not use the SerialEM built-in function realign?". Indeed, as an very important part of navigator, realign can get to the position of a point item nicely if the point item is inside a valid map. And this realign function can even be used repeatedly for multiple point items by Navigator → Acquire at Points → Realign to item.

However, due to mechanical inaccuracy of stage movement, in order to get the point precisely, realign procedure always leaves a small amount of IS value in the end. If we want 0 IS for imaging condition of microscope state, we can simply call the macro ZeroIS afterwards.

Here is an example of using macro command for realign function together with ZeroIS.

Example 2. Realign.txt


MacroName Realign
# a macro to realign to a nav item and then clear
# out any ImageShift afterwards.

RealignToNavItem 0
Call ZeroIS

Lets look at this macro. As usual, all the macro commands in the macro get executed line by line when we run this macro. Here, the line


RealignToNavItem 0

is a macro command. It has an argument, 0. It brings an navigator item to the center of CCD view by combining Image Shift and Stage Shift. This involves taking some images at the same magnification as map was created. The argument 0 here means that after the procedure the scope will NOT resume to the original state right before the procedure. The line after it


Call ZeroIS

calls another macro. As we see from the previous example, macro ZeroIS will clear out any IS left and still make the target spot centered. It uses V shots in this case.

The macro will work nicely, but the scope will be left at the mag of that of the map, even it starts from a different mag. It doesn't sound anything problematic. However, in the case of Low-Dose mode, the argument 0 will result in leaving Low-Dose mode and not coming back in. That might not be what we wanted.


4 In Low-Dose Mode

Well, in this case, we can make a simple change to the argument from 0 to 1. Lets take a look at this slightly modified macro.

Example 3. RealignInLD.txt


MacroName RealignInLD
# a macro to realign to a nav item in Low-Dose mode 
# and then clear out any ImageShift afterwards.
# 
# note: it requires the V is at the same mag as map.

RealignToNavItem 1
Call ZeroIS

As long as V shot is at the same mag as map, this macro will work fine. It jumps outside of LD mode and does "realign". Then it jumps back in LD mode and finishes the job of clearing out IS. In practical, for convenience, one can create map using V shots, either from single image or montage overview.

This works for multiple points.