Python program for automated electron diffraction data collection
Project description
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.
- TEMController
- Config
- Reading and writing image data
- Setting up instamatic
- Programs included
- GUI and Module system
- TVIPS module
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:
-
B. Wang, X. Zou, and S. Smeets, Automated serial rotation electron diffraction combined with cluster analysis: an efficient multi-crystal workflow for structure determination, IUCrJ (2019). 6, 854-867
-
B. Wang, Development of rotation electron diffraction as a fully automated and accurate method for structure determination. PhD thesis (2019), Dept. of Materials and Environmental Chemistry (MMK), Stockholm University
-
M.O. Cichocka, J. Ångström, B. Wang, X. Zou, and S. Smeets, High-throughput continuous rotation electron diffraction data acquisition via software automation, J. Appl. Cryst. (2018). 51, 1652–1661
-
S. Smeets, X. Zou, and W. Wan, Serial electron crystallography for structure determination and phase analysis of nanocrystalline materials, J. Appl. Cryst. (2018). 51, 1262–1273
Source Code Structure
demos/
- Jupyter demo notebooksdocs/
- Documentationinstamatic/
TEMController/
- Microscope interaction codecalibrate/
- Tools for calibrationcamera/
- Camera interaction codeconfig/
- Configuration managementexperiments/
- Specific data collection routinesformats/
- Image formats and other IOgui/
- GUI codeneural_network/
- Crystal quality predictionprocessing/
- Data processing toolsserver/
- Manages interprocess/network communicationutils/
- Helpful utilitiesacquire_at_items.py
- Stage movement/data acquisition engineadmin.py
- Check for administratorbanner.py
- Appropriately annoying thank you messagebrowser.py
- Montage browsing classexceptions.py
- Internal exceptionsgoniotool.py
- Goniotool (JEOL) interaction codegridmontage.py
- Grid montage data collection codeimage_utils.py
- Image transformation routinesimreg.py
- Image registration (cross correlation)io.py
- Some io-related scriptsmain.py
- Main entry pointmontage.py
- Image stitchingnavigation.py
- Optimize navigation pathstools.py
- Collection of functions used throughout the code
scripts/
- Helpful scriptspyproject.toml
- Dependency/build system declaration (poetry)setup.py
- Old-style build script
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for instamatic-1.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b36a66ecc9e481912e81a1da799cde0177558c42086a4f648ba9b5516387077 |
|
MD5 | 594d0e16a489be5bad84f89406c0fe2c |
|
BLAKE2b-256 | 62477eadbe4f12a229ec1aa3a0c2ba6774257b7a2eac02c2340d2db30f8c8685 |