An algorithm for the automatic deglitching of X-ray absorption spectroscopy data

J Synchrotron Radiat. 2021 Jul 1;28(Pt 4):1178-1183. doi: 10.1107/S1600577521003611. Epub 2021 May 19.

Abstract

Analysis of X-ray absorption spectroscopy data often involves the removal of artifacts or glitches from the acquired signal, a process commonly known as deglitching. Glitches result either from specific orientations of monochromator crystals or from scattering by crystallites in the sample itself. Since the precise energy - or wavelength - location and the intensity of glitches in a spectrum cannot always be predicted, deglitching is often performed on a per spectrum basis by the analyst. Some routines have been proposed, but they are prone to arbitrary selection of spectral artifacts and are often inadequate for processing large data sets. Here, a statistically robust algorithm, implemented as a Python program, for the automatic detection and removal of glitches that can be applied to a large number of spectra, is presented. It uses a Savitzky-Golay filter to smooth spectra and the generalized extreme Studentized deviate test to identify outliers. Robust, repeatable, and selective removal of glitches is achieved using this algorithm.

Keywords: X-ray absorption spectroscopy; deglitching; glitches.