Packages Available Here
SerialEM License Terms
Stable Release Version - SerialEM 4.0
Previous Release Version - SerialEM 3.8
Other Files Available
To install SerialEM you need two self-extracting archives:
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
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.
SerialEM install packages are available in three forms:
PythonModules packages are needed for running Python scripts from inside SerialEM and for controlling SerialEM from an externally run Python script.
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.
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.
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 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.0)" in the development change list.
Scripting with Python inside SerialEM or controlling SerialEM from an external Python script requires a "serialem" Python module. The packages here contain 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, and 3.9. 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.
Here are Windows Python packages for some of those versions:
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:
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:
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 or Direct Electron camera in SerialEM itself. The packages have no default location to unpack to, so when you run one, you must select to unpack it in either C:\ProgramData\Gatan\Plugins (for a K2/K3 camera) or in the location where the SerialEM executable is (usually C:\Program Files\SerialEM) for Falcon and DE cameras.
Third party items are not available here.