📡 A versatile Python toolkit for RHEED image analysis
Reflection High-Energy Electron Diffraction (RHEED) is an experimental technique used to monitor and control the quality of crystal surfaces.
A high-energy electron beam (∼20 keV) strikes the surface at a grazing angle (< 5°), making the method highly surface-sensitive and probing only a few atomic layers.
xRHEED provides a flexible and extensible Python toolkit for RHEED image analysis:
- 🖼️ Load and preprocess RHEED images
- 📈 Generate and analyze intensity profiles
- ✨ Overlay predicted diffraction spot positions (kinematic theory & Ewald construction)
- 🔄 Transform RHEED images into kx–ky space
- 🔍 Search for reconstruction lattice constants and rotations by calculating the matching coefficient between predicted and experimental data
👉 Note: xRHEED is not a GUI application. It is designed as an xarray accessory library, intended for use in interactive environments such as Jupyter notebooks.
pip install xrheedgit clone https://github.com/mkopciuszynski/xrheed
cd xrheed
pip install -e .- Install
uv. - Clone the repository:
git clone https://github.com/mkopciuszynski/xrheed
cd xrheed- Create and activate a virtual environment.
- Sync dependencies:
uv syncimport matplotlib.pyplot as plt
import xrheed
# Load a RHEED image
rheed_image = xrheed.load_data("rheed_image.raw", plugin="dsnp_arpes_raw")
# Show image with auto-adjusted levels
rheed_image.ri.plot_image(auto_levels=2.0)
plt.show()
# Get intensity profile and plot its origin
profile = rheed_image.ri.get_profile(center=(0, -5), width=40, height=4,
show_origin=True)If you use xRHEED in your research, please cite it:
Kopciuszynski, M. ORCID (2025). xRHEED: A versatile Python toolkit for RHEED image analysis.
GitHub. https://github.com/mkopciuszynski/xrheed
DOI: 10.5281/zenodo.17099751
📚 👉 See the full documentation for tutorials and advanced examples.