Gatan US1000 CCD Camera with CM12

Chen Xu

$BrandeisEM: ~/emdoc/articles-xml/US1000-CCD-with-CM12/article.xml 1 2013-02-04 10:01:47 xuchen Exp$

A Gatan Ultrascan CCD camera has been installed on CM12 since beginning of December, 2008. Similar to the Gatan US4000 CCD on Tecnai F30, this camera is also a 4-port readout optical stack. The MTF property of this camera on 120keV is significantly better than that of Gatan US4000 CCD on Tecnai F30 under 300keV. It is expected that it can replace electron films in most of applications that use CM12, since the image quality is comparable to that of film.

Unfortunately, due to the outdated version of CM12 firmware, DigitalMicrogaph doesn't communicate with our CM12. Therefore, when using DigitalMicrogaph to take image, one has to manually input magnification information from scope, if you want to have accurate scale bar shown in the image. Beside DigitalMicrogaph, a recent version of SerialEM has also been installed on this system. Although SerialEM is designed for Tecnai or JEOL system and to control them, it runs just fine on our CM12. It does provide flexibility and more options to drive the camera. It is recommended to use SerialEM to collect the data which is going to be processed, since, beside several other advantages, it also saves image directly into MRC format.

In this document, I first give you a couple of notes for using DigitalMicrogaph and SerialEM. Then, it lists a table for calibration of magnifications and exact pixel size on CCD. Finally, there is a section regarding electron dose.

You can also get pdf version of this document here.

Table of Contents
1 Some Properties of this Gatan US1000 CCD
2 Things that are needed to pay attention to
3 Note about DigitalMicrogaph
4 Note about Shutter control
5 Note about SerialEM
6 Monitor Drift Rate using SerialEM
7 Mag & Pixel Size Calibration table
8 Note about electron dose
9 Access CM12 Data Remotely
10 Remove X-ray and Unstack

1 Some Properties of this Gatan US1000 CCD

This is a 2k x 2k camera, with U type scintillator. Pixel size is 14um @ 2048 x 2048. 4 ports readout. MTF at 1/2 Nyquist frequency is about 0.16 at 120keV. Electron to counts Conversion Efficiency is 24 Counts/Prim e-. This is a 16-bit camera.

2 Things that are needed to pay attention to

Warning: Do not use focused Diffraction spots on CCD! Otherwise, the central spot is so strong that it will damage the Scintillator material that faces electron directly. One may use diffraction mode, as some of people do for their Search mode setup. Just make sure you lower large screen down first before turning on Diff mode and spreading central beam by adjusting the "Focus" knob in Diff mode.

Tip: The CCD should be in retracted position before one inserts the specimen holder into column and before vacuum is ready. So in case of vacuum crash, the back stream oil from ODP pump won't directly drop onto CCD phosphorous surface.

Important: On camera controller, the temperature toggle switch should be at OFF position while P3 is not ready! Normally, the switch is always at "COOL" position to reduce the readout noise. When the vacuum of the scope is not ready, specifically, when P3 is not ready, the camera should not be "COOL"ed or "WARM"ed up for baking. Therefore, one should manually switch to "OFF" position when to vent the camera chamber, or to shutdown the scope.

Note: Obtain gain reference ONLY when CCD is completely cooled down. The final temperature of our system is about -25.3 degree C.

3 Note about DigitalMicrogaph

If you want to have scale bar in your image, follow the two steps here. Similarly, you can turn off the scale bar by undoing those two steps.

4 Note about Shutter control

Currently, there is only one shutter control cable connecting from Gatan US1000 CCD FirstLight controller to CM12 electronics board. Therefore, there is no way to specify the offset between two shutters when taking a CCD shot, normally one is above specimen and one below. So, for plastic sections, it might cause problem of "drifting" due to charging.

Fortunately, the single cable is connecting to pre-specimnen shutter. To be more specific, it is using Gun-UX coil to shift beam away as a blanker. It is comforting to know at least cryo sample is protected, IF the camera is configured correctly.

The correct way to configure this is from DM → Camera → Configuration, to make sure the Shutter 1 is checked for "shutter idle status". The large screen of CM12 is now working as shutter switch - beam is there when screen is Down and beam goes away when large screen is Up.

One can easily check to see if the shutter is configured correctly by lifting the large screen handle slightly - the beam should go away. The value for current change related to large screen Up and Down should be noticeable on CM12 → Parameter → Display Current.

Interestingly, the beam blanker in Low-Dose mode uses the very same coil to shift beam away. It adds a large value on top of the value from camera shutter configuration.

5 Note about SerialEM

New version of SerialEM has been installed on CM12. This "NoScope" version doesn't give any error message when starting up. And we can align two images like a normal version, except it reports the pixel instead of nm. This makes it possible for us to accurately monitor the drift rate before taking final shot.

Now, you can use serialEM normally like on Tecnai F30, except for controlling microscope part.

When SerialEM main window is activated, the keyboard SPACE bar does two nice tricks for CCD: it stops continuous shot, or it repeats the very last action.

Warning: Before taking film picture, one should retract CCD. There are two reasons for it. First, if CCD not retracted, the shutter control with DM by large screen will not be automatically overridden by low-dose software on CM12. In other word, you will have blank picture except text area. Second, the small fragments won't fall on phosphor surface.

There is no default button to do that, like in Gatan DM interface. However, you can make a very simple Macro and make it clickable in Camera Setup Control.

MacroName CCD
## retract CCD before taking film shot 

Note: This macro to retract CCD can integrate with drifting control macro in next section, so that CCD can be retracted automatically when drifting rate is below certain threshold.

6 Monitor Drift Rate using SerialEM

After checking Focus and Stigmation at S1 or S2 mode, we usually watch the drifting visually on analog TV monitor. When we feel it is stable, then we take the shot. This watching is not quantitative at all. With CCD only system, because of the jiggling due to reading out speed of CCD camera, this watching is even more problematic.

Luckily, with SerialEM's macro ability, we can get the drifting rate quantitatively. We do this by running the following macro:

MacroName Drift
#### Editing ###########################
# Set to type of picture to take
shot = Focus
# unbinned pixel size in nm (related with mag, check Chen's table)
pixel = 0.18
# binning of shot in CCD setup
bin = 2
# Set to interval between pictures in seconds
interval = 15
# Set to maximum number of pictures
times = 10
# Set to criterion drift in A/sec
crit = 1
# End of parameters
##### End of Editing #####################

# actual pixelsize
ps = $pixel * $bin

Delay $interval
Loop $times index
AlignTo B
dx = $reportedValue1
dy = $reportedValue2
dist = sqrt $dx * $dx + $dy * $dy 
#echo Distance = $dist pixels
dist_in_nm = $dist * $ps 
#echo Distance = $dist_in_nm nm
drift = $dist_in_nm / $interval * 10
echo -----------------------------------------------
echo Drift = $drift A/sec
if $drift < $crit
echo Drift is low enough after shot $index
## for film, uncomment the next line to retract CCD
#Call CCD
if $index < $times
Delay $interval
Pause Drift never got below $crit: Continue anyway?

The idea of this macro is very clear: By aligning two images taken at certain interval, the distance is figured out. Dividing the distance by the interval, we get the drifting rate.

It is worth mentioning that there are two conditions needed to be satisfied. 1. There is no continuous imaging currently taken. 2. The shot defined in the macro needs to in single mode. E.g., in the above macro, Focus is used for this job, therefore, Focus has to be in single mode , selected in Camera Control panel.

Pay attention to the line

#Call CCD

Uncomment this line will have CCD automatically being retracted when the drifting rate is low enough.

7 Mag & Pixel Size Calibration table

The calibration was done using standard 0.463um distance grating grid and home made Tropomyosin paracrystal which has 39.5nm repeat. The later gives more accurate calculation for higher range of magnifications.

Mag_ScreenDown(X) Mag_ScreenUp(X) Mag_OnCCD(X) PixelSize@2048(nm)
300 340 453.432 30.88
400 450 699.461 23.35
530 600 801.445 17.47
710 800 1084.73 12.91
880 1000 1364.74 10.26
1250 1400 1823.37 7.678
1600 1800 2330.55 6.007
2050 2300 2871.28 4.876
2650 3000 3989.42 3.509
3400 3800 4556.90 3.072
4400 5000 6598.87 2.122
5600 6300 8456.04 1.656
7100 8000 10748 1.303
8800 10000 12832.1 1.091
11500 13000 17155 0.816
15000 17000 22654.8 0.610
19500 22000 28690.2 0.488
25000 28000 36916.7 0.379
31000 35000 46077.7 0.304
40000 45000 58021.3 0.241
53000 60000 76871.7 0.182
66000 75000 95404.5 0.147
88000 100000 127665 0.110
110000 125000 159727 0.0877
140000 160000 207199 0.068
175000 200000 261681 0.0535
230000 260000 341406 0.0410
300000 340000 428854 0.0319

8 Note about electron dose

Since we know the conversion rate of electron to counts and pixel size for each magnifications, we could use these two parameter to figure out the relationship between the mean counts on CCD and dose on specimen. It is as following:

Mean_Counts = Dose * Conversion_Rate * Pixel_Size * Pixel_Size

For example, if you take images at mag of 19500X(ScreenDown), the pixel size at specimen level is then 0.488nm. If you want 20e/A2 as target dose, you can then adjust your beam condition and exposure time to get your CCD image with Mean Counts of

Mean_Counts = 20 * 24 * 4.88 * 4.88 = 11431

It is important to point out that in default setup for SerialEM the readout count on your screen is only half of the original counts. This is done by checking "divided by 2 for 16 bits camera" under Camera menu. It is believed that this will remove noise more effectively, in the case of dark image background drifts sometimes. Quoted here is from SerialEM help file "Data can be divided by 2 as soon as they are acquired, by selecting Divide 16-bit By 2 in the Camera menu. They will thus never appear to be unsigned integers, making the options for treatment of 16-bit data irrelevant. If the camera noise level is high enough to make this an acceptable procedure, then it has the additional advantage that it will preserve negative values in gain-normalized images. Such values can occur and be meaningful in images with very low counts if the bias of the camera drifts downwards after taking a dark reference.". Therefore, if you measure your count in serialEM for dose purpose, you either uncheck "divided by 2 for 16 bits camera" and read the counts directly or otherwise use half of the counts in above equations.

To make it clear, if the menu "divided by 2 for 16 bits camera" is being checked in SerialEM, one should use the following equations:

Mean_Counts = 0.5 * Dose * Conversion_Rate * Pixel_Size * Pixel_Size 
Mean_Counts = 0.5 * 20 * 24 * 4.88 * 4.88 = 5715 

9 Access CM12 Data Remotely

All the data should be directly saved in local computer's hard drive. It is recommended to put them into "C:\CM12-Data". For convenience, this folder is now configured as shared and can be accessed from other computers remotely. Thanks to Lynn for setting this up. This folder can now be mounted on various platforms as the detailed below.

10 Remove X-ray and Unstack

Due to X-ray, a few pixels may have very high number. These pixels should be replaced by reasonable value, usually a local mean. We call this process "remove x-ray". This process is very simple with IMOD package. One only needs to run pre-process step from etomo interface.

One might need to unstack the X-ray removed stack into multiple single images to pick particles. IMOD has a standalone command "newstack" that unstacks an image, but itself doesn't automatically unstack all the images(sections) in a stack file at once. Fortunately, this can be done easily using a script like this example as below:

Example 1.


for file in $1 ;

		root=`basename ${file} .st`
		num_file=`header ${file} | grep sections | awk '{printf ($9)}'`
		for (( i=1; i<=${num_file}; i++ ))
			 f=`expr $i - 1`
			 index=`echo $f | awk '{printf("%03d",$1)}'`
			 ## for simple number index
			 #newstack -secs ${f} ${file} ${root}.${f}.mrc 
			 ## for 3 digit index, like 001,002
			 newstack -secs ${f} ${file} ${root}_${index}.mrc 

Run script like this:

 % ./ []