DiffractGUI allows for an automated analysis of  diffraction patterns and  high-resolution images of single crystal or limited number of crystallites. It is able to determine crystal orientation, index individual diffraction spots and measure interplanar angles and distances in picometric precision. The input image may depict:
* selected area diffraction pattern,
* high-resolution image,
* nanodiffraction pattern or
* convergent beam electron diffraction.
The input image is processed in the following steps:
# Preprocessing with accordance to the settings and image nature (resolution and noise reduction, Fourier transform for direct space images etc.).
# Detection of diffraction reflections at various scales (difference of Gaussians typically used for spot detection, Hough transform for  CBED disk detection).
# The strongest detections are selected across the scale space.
# A regular lattice is fit to the set of the strongest detections using RANSAC algorithm.
# Lengths and angles of the  lattice basis vectors are measured.
# Crystal lattice orientation is determined and diffraction reflections are identified using theoretical parameters of the sample material.
Compared to human evaluation,  considers tens or even hundreds of diffraction spots at once and, therefore, can localize the pattern with sub-pixel precision.