Project

General

Profile

Actions

Gatan K2 installation and setup » History » Revision 1

Revision 1/47 | Next »
Anchi Cheng, 10/31/2013 05:45 PM


Gatan K2 unique installation and setup

Packages

  • Use all amd64 version of Windows installer

SerialEM DigitalMicrograph Plug-in

Installation

Thanks to David Mastronarde for providing his DM plug-in using socket connection

Note: If you have SerialEM installed on the same computer, you don't have to install this. The same Plugin can be used by both programs and share the same port

For your convenience, these are taken from SerialEM download site: http://bio3d.colorado.edu/ftp/SerialEM/ Please match it with your Digital Micrograph version. If you have SerialEM installed, this is included.

DM version local copy of SerialEM SEMCCD description
2.2.x SEMCCD-GMS2-64.dll DM for 64-bit GMS 2.0 - 2.2
2.3.0 SEMCCD-GMS2.30-64.dll DM for 64-bit GMS 2.30
2.3.1, 2.3.2, 3.0 SEMCCD-GMS2.31-64.dll DM for 64-bit GMS 2.31 and above
3.31 and above SEMCCD-GMS3.31-64.dll DM for 64-bit GMS 3.31 and above

Note: DM = Digital Micrograph; GMS = Gatan Microscopy Suite
32bit versions also exit, but not for GMS 2.31 and above

Copy it to C:\ProgramData\Gatan\Plugins\

If you had SEMCCDxxxx.dll in C:\Program File\Gatan\Plugins, you should remove it

Add a new environment variable SERIALEMCCD_PORT if not exist already from SerialEM installation. Set the value to an unused port between 50000 and 60000 to avoid conflict with other programs. Avoid ports used by Leginon, especially not 55555.

Port 50000 or 50001 usually works.

instruments.cfg

The camera modes are configured as separate cameras as follows.

  • Super Resolution should be double the size of Linear and Counting.
  • zplane will be relative to any other cameras in your system. Anything below K2 should have a lower zplane.
  • to make the images acquired from the camera to have the standard Leginon orientation, the camera configuration in Digital Micrograph will need a rotation and flip (270 degree rotation and a flip around the vertical axis on our camera) on typical FEI F20 but maybe not so post-GIF or on Krios. Therefore, the height is longer than width in the configuration below
[Gatan K2 Linear]
class: dmsem.GatanK2Linear
zplane: 50
width: 3710
height: 3838

[Gatan K2 Counting]
class: dmsem.GatanK2Counting
zplane: 50
width: 3710
height: 3838

[Gatan K2 Super]
class: dmsem.GatanK2Super
zplane: 50
width: 7420
height: 7676

If you have an Orius camera with K2, set its zplane below K2 like this:

[camera2]
class: dmsem.GatanOrius
zplane: 49
width: 2048
height: 2048

Testing with pyscope

  1. Start DigitalMicrograph
  2. From python command line or IDLE:
    import pyscope.dmsem
    k = pyscope.dmsem.GatanK2Counting()
    k.setExposureTime(200)
    k.getImage()

You should expect these to run without error. The getImage() command should give a 2D numpy array like

array([[1000, 3400, 2300, ..., 1000,1200,3000],
         [1000, 3400, 2300, ..., 1000,1200,3000],
         [1000, 3400, 2300, ..., 1000,1200,3000],
         ...,
         [1000, 3400, 2300, ..., 1000,1200,3000],
         [1000, 3400, 2300, ..., 1000,1200,3000],
         [1000, 3400, 2300, ..., 1000,1200,3000],dtype=int16)

The number and dtype depends on the camera.

a.shape command should give a tuple of the camera dimension matching your camera.
For example, (4096,4096)

If you use python shell to do this test, some of the error will cause the shell window to close immediately. Use Python IDLE instead in that case

Testing frame saving

You can continue the test above by saving frames, too.

k.setSaveRawFrames(True)
k.setExposureTime(200)
a=k.getImage()
a.shape
* The last command should give you the shape of the summed image, and the frame movie should show up on your frames directory

testing energy filter

  1. Start DigitalMicrograph
  2. From python command line or IDLE:
    import pyscope.dmsem
    k = pyscope.dmsem.GatanK2Counting()
    k.getEnergyFiltered()
    k.getEnergyFilter()
    k.setEnergyFilter(True)
    k.getEnergyFilter()
    k.setEnergyFilter(False)
    k.getEnergyFilter()
    k.getEnergyFilterWidth()
    

Updated by Anchi Cheng over 10 years ago · 1 revisions