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

Begonnen von madexp, 15. August 2025, 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.

Kermit

Wow, thanks for sharing.  ;D

I will try to work with the MCA SW as fast, as i can  ;) , especially with a famos old WinXp Laptop  ;)

madexp

Yes it works on Windows XP SP3 32bit!
The new file fully backwards compatible is here: Eu-152 broadband
It works on all kind of devices wich can install Java 1.8 or Open JDK 1.8
You can download the OpenJDK for WinXP here: OpenJDK 1.8
For people with modern devices, don't care about OpenJDK, just download from the first link of this post.
There are some minor flaws with windows sizes cause I develop on 4K display but I'll fix on newer releases with the implementation of self-sizing/arranging. I will make a GitHub project page ASAP.
Some screenshots at the end of this post.

madexp

I've added Open Gamma Project protocol compatibily.
I've also created a GitHub page where you can download the latest version: Eu-152 Git

madexp

Hi everyone! I've ported the Eu152 application to Android.
Now it works on any Android mobile phone!
It supports only USB Audio Codec based devices, connected to mobile phone via USB OTG cable.
Take a look at the pictures.

Now both versions, Eu152.jar for PC and Eu152.apk for Android are avilable for download from my GitHub:
GitHub Link

I think that's the only well working audio-based spectroscopy application for Android available at the moment.

DL8BCN


Hello, this looks very promising. I will test it as soon as possible.
Rainer