Abstract
Quantitative convergent-beam electron diffraction (QCBED) enables the measurement of structure factors and other structural parameters with high accuracy using dynamical diffraction theory. To do this, rigorous diffraction simulations and iterative intensity refinement are required. We have developed PyExtal, a Python-based software package for QCBED. PyExtal supports refinement of both small- and large-unit-cell crystals through automated computation workflows and flexible data handling of convergent-beam electron diffraction (CBED) and large-angle CBED patterns. The performance of PyExtal is demonstrated by using silicon and yttrium iron garnet as benchmark systems, with refined silicon structure factors showing excellent agreement with previous experimental results. As a computational platform, PyExtal provides a direct basis for experimental mapping of electron charge density in crystals and facilitates broader applications of dynamical-diffraction-based quantitative crystallographic analysis.