/instamatic

Python program to collect serial and rotation electron diffraction data

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

DOI

Instamatic

Instamatic is a Python program that is being developed with the aim to automate the collection of electron diffraction data. At the core is a Python library for transmission electron microscope experimental control with bindings for the JEOL/FEI microscopes and interfaces to the gatan/timepix/tvips cameras. Routines have been implemented for collecting serial electron diffraction (serialED), continuous rotation electron diffraction (cRED), and stepwise rotation electron diffraction (RED) data.

Instamatic is distributed as a portable stand-alone installation that includes all the needed libraries from: https://github.com/stefsmeets/instamatic/releases. However, the most up-to-date version of the code (including bugs!) is available from this repository.

Electron microscopes supported:

  • JEOL microscopes with the TEMCOM library
  • FEI microscopes via the scripting interface

Cameras supported:

  • ASI Timepix (including live-view GUI)
  • Gatan cameras through DM plugin
  • TVIPS cameras through EMMENU4 API

Instamatic has been extensively tested on a JEOL-2100 with a Timepix camera, and is currently being developed on a JEOL-1400 and JEOL-3200 with TVIPS cameras.

A DigitalMicrograph script for collecting cRED data on a OneView camera (or any Gatan camera) can be found in the dmscript directory.

Reference

If you find this software useful, please consider citing one of the references below and/or refer to the source code in your publications:

Some of the methods implemented in Instamatic are described in:

Documentation

See the documentation for how to set up and use Instamatic.

Use pydoc to access the full API reference: pydoc -b instamatic

Requirements

  • Python3.6
  • comtypes
  • lmfit
  • matplotlib
  • numpy
  • pandas
  • Pillow
  • scipy
  • scikit-image
  • tqdm
  • pyyaml
  • h5py
  • IPython

Requirements can be installed via:

pip install -r requirements.txt

Installation

The simplest way is to download the portable installation with all libraries/dependencies included: https://github.com/stefsmeets/instamatic/releases/latest. Extract the archive, and open a terminal by double-clicking start_Cmder.exe.

Alternatively, the latest development version can always be obtained via:

https://github.com/stefsmeets/instamatic/archive/master.zip

To install:

pip install -r requirements.txt
python setup.py install