since there is quite some talking about software going on here lately, I thought, I'd introduce my own gamma spectroscopy software: Gamma MCA. It's a web application under this URL: https://spectrum.nuclearphoenix.xyz
As a quick heads-up it's not another sound card spectrometry program, it's a bit different in this regard ;)
It's also completely open source on GitHub and therefore obviously free to use and download.
Especially in the last couple of weeks I have made some progress with new features and old fixes, but I've been maintaining a thread in a german-speaking radiation forum with all the changes beginning from the start almost exactly 1 year ago. If you're interested, you can have a look at the evolution of the program there (lots of screenshots). Other than that, I'm obviously also looking for feedback from you guys here!
Web App?
Gamma MCA is a so-called progressive web app. It is extremely light-weight and you can open it in any up-to-date browser without needing to install anything. If you are reading this, you most likely already meet all the requirements to use it. And don't worry, you can use it offline as soon as you have visited the page once.
A progressive web app can be a normal website, like when you open it in your browser. But it can also be used without any internet connection at all once downloaded (i.e. page visited). On top of that, you don't have to open your browser every time to use it. If you're using a Chromium-based browser, you can install the app to your system and use it just like any other native program! You can even bind the application as default file handler for XML, JSON, CSV or TXT files.
File control tab
- You can open most CSV/TXT files, more exotic files like TKA and most-importantly JSON and XML files. The last two can contain more data like combining all the spectra, calibration data and sample info.
- JSON, XML and CSV files can be also exported.
- The XML files are compatible with the files from BecqMoni 2011 and newer, the JSON files are also compatible with Steven's impulse software.
- The JSON files are automatically validated for file errors.
- If you're importing a CSV that is not a histogram, but more of a chronological list of pulses (e.g. if you append energies to a file one after another as they come in), you can also change to this mode.
- The background energy spectrum will be automatically subtracted from the energy spectrum.
- Connect to a serial device (MCA like the Nuclear Pioneer MCA or my Open Gamma Detector) that is outputting pre-binned energy pulses. This is something I have yet to see in any gamma spectroscopy program. Most of the time it's sound card based or via proprietary drivers and software. Maybe I have missed something, though, so please let me know!
- Your MCA can regularly output a full pulse-height histogram or each pulse as they occur (similar to the file settings above).
- You can set a time limit after which Gamma MCA will automatically halt the recording.
- Built-in serial console to control your device.
- At the moment only quadratic or cubic polynomial calibration. There will be n-poly calibration in the future.
- You can import and export specific calibration files. If you imported a JSON or XML file with calibration data, it will be set automatically.
- You can delete the calibration and calibrate by selecting points from the plot and assigning them their corresponding energy.
- There is also a calibration chart if you want to visualize that aspect of the data. This makes debugging your calibration and finding non-linear regions much easier.
- This tab is heavily inspired by BecqMoni's sample info section.
- All of these are imported and exported with the JSON/XML files.
- Here you can find a full list of common gamma-ray energies and their corresponding isotopes. You can click through the table and the lines will show in the plot. The list is taken from the theremino MCA with some minor modifications, but you can supply your own list.
- The settings tab lets you change everything related to the plot, the serial connection, file import and peak detection.
It's located just below the plot window, as you probably already saw in the previous images. Here are the features from left to right:
- Hard-reset the plot.
- Change between the linear and log x- and y-axis.
- Apply a simple moving average with a custom length (changes the smoothing).
- Choose between histogram and line plot types.
- Switch the y-axis between total counts and counts per second.
- Toggle between different peak finder modes. This will enable the Gaussian correlation filter from PRA, with optional lines at the corresponding peak energies or the nearest isotopes thanks to the isotope list.
- Show the nearest isotopes at the mouse cursor location when hovering over the plot.
That's pretty much all the important features of the software. If you want to give it a try, feel free to give me some feedback and suggestions! At the moment, there is also a poll about some new features on GitHub. Looking forward to some replies from you ;)