Eu-152: multi-OS multi-Protocol gamma spectroscopy app

Begonnen von madexp, Heute um 08:37

⏪ vorheriges - nächstes ⏩

madexp

I am releasing Eu-152, a desktop app for gamma spectroscopy that is already usable.

The peculiarity of this app is that's compatible with all operative systems including Windows, Linux and Mac and doesn't need any complex installation. You can even run it in your RaspBerry pi as example or on your "old" Windows XP laptop!

Another peculiarity is that is written fully in Java language: whatever runs Java, it runs!

It works at the moment with three kinds of data inputs:
  • EPICS Channel Access -> Take a look at NPL to add Canberra 556AIM into your NIM crate and connect to it
  • Simple SH-Protocol v2 serial device from Atom Spectra
  • Plain simple USB audio (PCM) devices like all the Theremino stuff of Gamma Spectacular or even all my USB Codec based high resolution/big crystal devices like "Cubino" and experimental boards.


The goal is simple: one consistent UI and one analysis pipeline from pulses to a calibrated spectrum. No frills. No Python. No WEB UI. Just standard executable file, double click and ready to work!

What Eu-152 does
For USB Codec devices, it handles trigger with LLD, baseline estimation, have an optional band-pass prefilter, smoothing, pulse height and area measurement, pile-up and saturation rejection, CPS calculation, histogramming to 1024 bins.
For all other protocols: ROIs with totals and net counts, FWHM calculator, energy calibration (linear or quadratic), PNG export, and a portable CSV format for loading and saving spectrum.
Energy calibration could be saved and loaded as separate file for maximum flexibility.

Why it is useful
You can connect to a Canberra 556AIM in the lab, a serial device on the bench, or a sound card at home and get the same workflow. Create ROIs, run auto-peak to seed candidates, refine them, calibrate using known lines (for example Eu-1520), and save results.
No frills. Just think at the work you've to do not at fancy "banana" themed web UI or colorfull "we-are-against-quadratic-calibration" nonsense applications.
And by the way... you can get your ROI table on the second print page fully and nicely formatted!

How to run
Requires 64-bit Java 21 or newer on Windows, macOS, or Linux.
Run with: java -jar Eu152.jar on Linux based stuff including Raspberry.
For other operative system, just double click on Eu152.jar. If doesn't open then install latest Java 21 JDK from here: Java 21 or OpenJDK 21 on Linux. Mac usually works out of the box.


USB audio quick start example
Pick device, sample rate, and channel. Set input level as high as possible without clipping. Set LLD around 4 to 6 percent full scale to suppress baseline noise. Choose smoothing taps close to the pulse width shown in the preview. If you see activity piling up near channel 0, enable the band-pass and raise LLD a bit. For clean symmetric pulses, Height is precise; for noisy or slightly distorted pulses, Area is often more stable. You have two oscilloscopes on setting window. You can tailor the algorithm uppon your needs by changing parameters and trial and error.

Current status
The app is usable now. Acquisition, ROI tools, auto-peak, calibration, PNG and CSV are in place.
I am iterating on documentation and small UI refinements based on feedback. I'll add support for other hobby protocols, maybe one from this forum as soon as this week-end.

Links
Download: Eu152

Contact
If you test it with your setup (EPICS, SH serial, or USB audio), please share notes, spectra screenshots, and settings that worked for you. That feedback will help set smarter defaults.