Skip to main content

Python program for automated electron diffraction data collection

Project description

GitHub Workflow Status PyPI - Python Version PyPI PyPI - Downloads 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 [1]
  • 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 (XF416/F416).

[1]: A DigitalMicrograph script for collecting cRED data on a OneView camera (or any other Gatan camera) can be found at dmscript.

Installation

pip install instamatic

Alternatively, 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.

Documentation

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

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

Reference

If you found Instamatic useful, please consider citing it or one of the references below.

Each software release is archived on Zenodo, which provides a DOI for the project and each release. The project DOI 10.5281/zenodo.1090388 will always resolve to the latest archive, which contains all the information needed to cite the release.

Alternatively, some of the methods implemented in Instamatic are described in:

Source Code Structure

  • demos/ - Jupyter demo notebooks
  • docs/ - Documentation
  • instamatic/
    • TEMController/ - Microscope interaction code
    • calibrate/ - Tools for calibration
    • camera/ - Camera interaction code
    • config/ - Configuration management
    • experiments/ - Specific data collection routines
    • formats/ - Image formats and other IO
    • gui/ - GUI code
    • neural_network/ - Crystal quality prediction
    • processing/ - Data processing tools
    • server/ - Manages interprocess/network communication
    • utils/ - Helpful utilities
    • acquire_at_items.py - Stage movement/data acquisition engine
    • admin.py - Check for administrator
    • banner.py - Appropriately annoying thank you message
    • browser.py - Montage browsing class
    • exceptions.py - Internal exceptions
    • goniotool.py - Goniotool (JEOL) interaction code
    • gridmontage.py - Grid montage data collection code
    • image_utils.py - Image transformation routines
    • imreg.py - Image registration (cross correlation)
    • io.py - Some io-related scripts
    • main.py - Main entry point
    • montage.py - Image stitching
    • navigation.py - Optimize navigation paths
    • tools.py - Collection of functions used throughout the code
  • scripts/ - Helpful scripts
  • pyproject.toml - Dependency/build system declaration (poetry)
  • setup.py - Old-style build script

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

instamatic-1.4.1.tar.gz (3.0 MB view hashes)

Uploaded Source

Built Distribution

instamatic-1.4.1-py3-none-any.whl (3.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page