GAMMA_FLOW: Guided Analysis of Multi-label spectra by MAtrix Factorization for Lightweight Operational Workflows
Viola Rädle, Tilman Hartwig, Benjamin Oesen, Emily Alice Kröger, Julius Vogt, Eike Gericke, Martin Baron
TL;DR
The work tackles the need for real-time, interpretable analysis of noisy one-dimensional spectra in gamma spectroscopy by proposing gamma_flow, a lightweight, open-source framework based on a supervised variant of non-negative matrix factorization with fixed loadings. The method models spectra with $X \approx S L^T$, where $L$ contains mean isotope spectra and $S$ contains non-negative scores representing isotope contributions, enabling fast classification, deconvolution, and denoising. Demonstrations show classification accuracies above 90% (e.g., 94.8% in a measured single-label test) and smooth, interpretable denoised spectra, along with an explicit outlier-detection strategy grounded in latent-space analysis. The modular, three-notebook implementation supports end-to-end workflows and facilitates adoption across domains requiring real-time interpretation of spectral data, extending beyond gamma spectroscopy to environmental monitoring, materials science, and related fields.
Abstract
GAMMA_FLOW is an open-source Python package for real-time analysis of spectral data. It supports classification, denoising, decomposition, and outlier detection of both single- and multi-component spectra. Instead of relying on large, computationally intensive models, it employs a supervised approach to non-negative matrix factorization (NMF) for dimensionality reduction. This ensures a fast, efficient, and adaptable analysis while reducing computational costs. gamma_flow achieves classification accuracies above 90% and enables reliable automated spectral interpretation. Originally developed for gamma-ray spectra, it is applicable to any type of one-dimensional spectral data. As an open and flexible alternative to proprietary software, it supports various applications in research and industry.
