Spectral Scanner

Spectroscopy acquisition app — live spectra, dark referencing, auto-integration, and batch export. Pilot app of the platform re-architecture.

Python · PyQt6 · pyqtgraph · python-seabreeze — source private

A desktop spectroscopy application: live spectra from lab spectrometers, dark-reference subtraction, automatic integration-time control that servos toward device-derived targets, cursor and band measurements, comparison overlays, and batch export into the platform’s unified run layout.

Synthetic spectrum showing raw, dark and corrected traces with an auto-integration target line

Dark-referenced acquisition with auto-integration servoing toward a target signal — synthetic spectrum.

The Spectral Scanner was chosen as the pilot app for the platform’s greenfield re-architecture, so its current incarnation is also the reference implementation of the shared framework: a pure analysis core, nine focused controllers replacing a 1,250-line god-controller, protocol-based hardware ports with a device-true mock spectrometer, and a UI wired 1:1 onto the framework. The rebuild shipped with over a hundred app tests, strict typing, and an enforced no-Qt boundary around the core — then survived a two-reviewer adversarial gate before being accepted as the template for every app that follows.