` SerialEM Downloads and Installation

Downloading and Installing SerialEM and Related Components

Getting Started
Packages Available Here
SerialEM License Terms
Stable Release Version - SerialEM 4.1
Previous Release Version - SerialEM 4.0
Development/Beta Versions
PythonModules Packages
Shrmemframe Packages
FrameGPU Packages
Other Files Available

Getting Started

To install SerialEM you need two self-extracting archives:

  1. An install package with the SerialEM executable, plugins and help files; see Packages Available Here
  2. An archive that sets up a framework and configuration files for SerialEM. For TFS/FEI scopes, we strongly recommended that you get a framework file customized for your scope; this is essential for JEOL and Hitachi scopes. To do so, fill out the microscope questionnaire and send it to serialemsupport@colorado.edu. Framework files are available in the Frameworks folder on the download site. If there is a framework file customized for your scope, get that; otherwise get "GenericFramework.exe".

Extract the framework first. Accept the default location to extract to for a customized file; for GenericFramework.exe, be sure it is extracted to "C:\ProgramData" on Windows 7/10/Server 2008/Server 2012, or "C:\Program Files" for Windows 2000 and XP.

If you start with the GenericFramework.exe, get GenericProperties.txt from the Tools folder, rename it to SerialEMproperties.txt and replace the out-of-date one from the package. You can also get appropriate magnification table and camera property files from the Tools folder and insert them at the indicated places in SerialEMproperties.txt (see Starting with a Generic Properties File).

Run the SerialEM package file and extract to the default location; it will create a folder C:\Program Files\SerialEM\SerialEM_x-x-x with its contents.

Start the help by clicking on the file SerialEM.chm, or follow the links below to use the online help.

In the "General Topics" chapter, the following introductory sections are recommended reading before trying to set up the program:
     Introduction to SerialEM
     Mouse and Keyboard Controls
     Control Panels
     Image Acquisition from CCD Cameras and Direct Electron Detectors

Go to the section Setting Up SerialEM. Read and follow the procedures in Program Installation.

Read the section on A Minimal Setup Procedure, which you can follow on a relatively simple microscope if you want to get the program going quickly and start trying to work with it. Otherwise just slog through all of the Priority 1 and 2 setup procedures in order.


To upgrade, download the latest version and extract it. Open the new folder SerialEM_x-x-x within C:\Program Files\SerialEM and click on install.bat. (Right-click and Run as Administrator under newer Windows versions.) This will remove unneeded older files and copy needed ones into the upper directory. If you are connecting to DigitalMicrograph on a remote computer, it is also important to update the plugin on the other computer. See the section on Upgrading to a New Version in the Program Installation section of the help.

The installer lets you upgrade a 32-bit version to a 64-bit version on a 64-bit computer or switch back to a 32-bit version from a 64-bit version.

Packages Available Here

SerialEM install packages are available in two forms:

PythonModules packages are needed for running Python scripts from inside SerialEM and for controlling SerialEM from an externally run Python script. They are included in SerialEM release packages but the latest modules with new functions are also available between releases.

Shrmemframe packages are needed for aligning frames from a K2 or K3 camera with the CPU in SerialEM 3.7 onwards, and for aligning with a GPU with recent GMS versions.

FrameGPU packages provide the optional module and CUDA runtime libraries for aligning frames from a K2/K3, Falcon, or Direct Electron camera with a GPU.

SerialEM License Terms

SerialEM is copyright (C) 2003-2022 by the Regents of the University of Colorado. See the file "Copyright.txt" for the full copyright notice and acknowledgements of other software used.

The SerialEM executable is open source under an MIT license, but the microscope and camera plugins to SerialEM are not open source. The University of Colorado retains various rights with regard to these components; however, they are currently provided free for both commercial and non-commercial purposes. By downloading the distributed software, you agree that you will not distribute it outside of your own institution.

Stable Release Version - SerialEM 4.1

The stable release version receives only bug fixes and trivial modifications after it is first released. The higher the update number, the more mature it is. The previous update will usually be available here as well in case there is a problem with the latest update. The full list of changes in this version are in this change list; if the feature you are looking for is not in this list, you need a development version.

Previous Release Version - SerialEM 4.0

The previous release version is not updated after a new stable release. It will be the safest thing to use soon after a new stable release, but may contain bugs that have been fixed in newer versions.

Development/Test Versions

Development versions of SerialEM are made available frequently. In general, you should try a development version only if you have a good mechanism for reverting to the version you were using previously. That can be as simple as renaming the current executable or re-running install.bat in the previously used package folder.

These development versions come in two forms: just the executable SerialEM.exe, or a full installation package. Aside from this distinction, the development versions are also in two sets of directories: Beta and Testing. The Beta directories will have beta installation packages and should generally be more mature and reliable than anything in the Testing directories. The Testing directories will have program executables and sometimes fresh installation packages.

A full beta package will have some difference in plugins or libraries since the stable release, and may or may not have plugin/library differences from previous beta packages. Check the README.txt file in the Testing folder to see what beta package version, if any, is required to run the current SerialEM.exe. Often, when you have already installed the required beta package, you can simply substitute the SerialEM.exe and need not install the latest beta package. The Testing folders may also have plugins that have changed since the last install package, but it is usually not necessary to update with these except to make a specific new feature work.

There may also be executables of the current stable release, with bug fixes since the last package was released. These are a lot safer to use, although sometimes a specific change still needs to be tested by the user who reported the bug. Changes in this version will be marked as "(In 4.1)" in the development change list.

PythonModules and Python Packages

Scripting with Python inside SerialEM or controlling SerialEM from an external Python script requires a "serialem" Python module. These modules are included in the installer packages linked above. There are modules for 32-bit Windows Python 2.7, 3.4, and 3.5, and 64-bit Windows Python 3.4, 3.5, 3.6, 3.8, 3.9, and 3.11. When new script commands are added to SerialEM, an updated package of modules is posted. A package should be unpacked in the directory with the SerialEM executable; otherwise the property 'PythonModulePath' must be defined with the path to this directory of modules. The latest modules are backwards compatible to earlier SerialEM versions; here they are:

Here are Windows Python packages for some of those versions:

Shrmemframe Packages

The Shrmemframe program is needed to use the CPU for aligning frames from a K2 or K3 camera as of SerialEM 3.7, and also to align with the GPU with recent versions of GMS. The program is included in the 64-bit SerialEM package and will be installed by the "install.bat" installer in that package when running on the K2 computer. However, you need to install one of the packages here separately in two cases:

  1. You are running SerialEM on a computer other than the K2/K3 computer.
  2. You are running a 32-bit version of SerialEM on the K2/K3 computer.

The packages here are for your convenience, to save you from copying multiple files from the SerialEM installation to a remote computer (their most likely use). They thus include the SEMCCD plugin to DigitalMicrograph, and you must pick the package that fits your GMS version:

FrameGPU Packages

These packages provide both the FrameGPU.dll module and the CUDA libraries needed for doing frame alignment with the GPU. The same files are used for aligning K2/K3 frames in the SEMCCD plugin to DigitalMicrograph and frames from a Falcon, Direct Electron, or TVIPS camera in SerialEM itself. The packages have no default location to unpack to, so when you run one, you must select to unpack where it is needed. For a K2/K3 camera, unpack in C:\ProgramData\Gatan\Plugins\Shrmemframe, or in C:\ProgramData\Gatan\Plugins if the Shrmemframe folder does not exist. For a Falcon, DE, and TVIPS camera, unpack in the location where the SerialEM executable is (usually C:\Program Files\SerialEM).

Other Files Available

Third party items are not available here.