EDIFF :: processing of electron diffraction patterns
- EDIFF package:
- processes an experimental 2D electron diffractogram (ELD)
- calculates a theoretical X-ray diffractogram (XRD)
- compares ELD and XRD to identify the structure
- Powder vs. monocrystal diffractograms:
- powder/polycrystal diffractograms - finished, working (see examples below)
- monocrystal diffractograms - under development (not fully implemented yet)
- If you use EDIFF in your research, please cite our recent paper:
- Microscopy and Microanalysis 31, 2025, ozaf045.
https://doi.org/10.1093/mam/ozaf045
- Microscopy and Microanalysis 31, 2025, ozaf045.
Principle

Installation
- Prerequisite: Python with sci-modules: numpy, matplotlib, scipy, pandas.
pip install scikit-image= 3rd party package for advanced image processingpip install pymatgen= 3rd package employed in crystallographic calculationspip install bground= our package, interactive background subtractionpip install ediff= EDIFF package itself (uses all packages above)
Quick start
- Worked example shows the EDIFF package in action.
- Help on GitHub with complete package documentation and additional examples.
Other resources
- PyPI repository - the stable version to install.
- GitHub repository - the current version under development.
- GitHub Pages - the more user-friendly version of GitHub website.
Versions of EDIFF
- Version 0.0 = the 1st draft, testing of {pxrd} module
- Version 0.1 = the 1st functional version with basic documentation
- Version 0.2 = important improvements of {center} module
- Version 0.3 = {calibration} module + various updates + better ediff template
- Version 0.4 = {center} module: better structure + better funcs + saving coords
- Version 0.5 = consolidation of code and documentation - all stable and working
- Version 0.6 = finalization of {center} module
- Version 0.7 = {gcryst} module: geometrical crystallography, zone axes …
- Version 0.8 = rewrite: {gcryst}, {pxrd ⇒ pcryst} + new: {mcryst}
- Version 0.9 = new: {bkg2d} + improved: {calibration} + better documentation
- Version 1.0 = complete processing of powder diffractograms
- Version 1.1 = TODO: improved and simplified interface for {pcryst}
- Version 2.0 = TODO: complete processing of powder + monocrystal diffractograms
Acknowledgement
The development was co-funded by TACR, program NCK, project TN02000020.