Idea for MCA algorithm

PRA, BeqMoni, Theremino, Fitzpeaks and beyond!
Post Reply
tim.hbn
Posts: 93
Joined: 04 Aug 2021, 00:19
Contact:

Idea for MCA algorithm

Post by tim.hbn » 01 Dec 2021, 10:52

Hi Everyone

What follows is an idea of mine for an algorithm which compensates for the horizontal movement of the peaks in a spectrum due to temperature changes. The problem is that this movement of peaks widens the FWHM of the peaks as the spectrum develops. It also, of course, makes isotope identification less accurate.

Obviously, the problem I have described above is not very significant for strong peaks which require only a short period of time to develop. However, if a spectrum contains a mixture of weak and strong peaks, this becomes a problem for all peaks in the spectrum if the weak peaks are allowed enough time to become visible.

The algorithm would record each individual pulse detected together with its height.

After the algorithm has gathered enough pulses at the beginning of the development of the spectrum, it would start using artificial intelligence to detect how the peaks in the spectrum have moved horizontally over time. It would then reallocate every past pulse to a different channel number in order to recreate the spectrum as if there had been no horizontal movement of the peaks. This would prevent the widening of the FWHM of the peaks.

Becquerel Monitor's "Stabilizer" feature is not as sophisticated as what I have described above and does not prevent the widening of the FWHM of the peaks as the spectrum develops.

In a better version of the algorithm, the artificial intelligence would refer to patterns in known gamma spectra to see if it can recognize those patterns in the received pulses and then perform a corresponding calibration of the pulses. This extra task may be somewhat more difficult to achieve.

To be honest, I would actually be very surprised if no one has thought of this idea before. Does anyone here know if what I have described above has actually been implemented in any existing MCA software?

Kind regards

Tim

User avatar
Sesselmann
Posts: 1281
Joined: 27 Apr 2015, 11:40
Location: Sydney
Contact:

Re: Idea for MCA algorithm

Post by Sesselmann » 01 Dec 2021, 19:11

Tim,

As you can imagine, a lot of brilliant minds have thought about this problem and various solutions have been tested. One solution was to introduce a tiny permanent source, either an isotope or a flashing led, inside the detector, this woukld produce a peak onto which the software could lock on.

Marek who wrote PRA did some experiments with a resistor and thermistor divider built into the detector and as long as the values are chosen carefully good results can be achieved, I like this because it's simple.

As you mention Becqmoni has a feature built in, it works, but produces somewhat strange non gaussian peaks.

We use real intelligence every day when we look at spectra and instantly recognise the shape, will AI do better an experienced scientist......who knows?

Steven

User avatar
GigaBecquerel
Posts: 172
Joined: 04 Jul 2020, 07:34
Contact:

Re: Idea for MCA algorithm

Post by GigaBecquerel » 01 Dec 2021, 20:55

How would the "Artificial Intelligence" know that the spectrum is shifting, and not decaying into something that's emitting gammas at a slightly lower energy?
In my experience software like this will always fail at some edge case, and those edge cases are way more common that you'd think!
https://i.imgur.com/thjTxRO.gifv

The best ways to stabilize the spectrum is using a temperature sensor to adjust the gain, or using an LED flasher to do so.

tim.hbn
Posts: 93
Joined: 04 Aug 2021, 00:19
Contact:

Re: Idea for MCA algorithm

Post by tim.hbn » 01 Dec 2021, 21:12

Hi Steven and Lucas

Thank you both very much for your informative replies.

I think you both make a good points.

Kind regards

Tim

jneilson
Posts: 44
Joined: 21 May 2024, 05:08
Location: Oxfordshire, UK
Contact:

Re: Idea for MCA algorithm

Post by jneilson » 28 May 2024, 17:51

As others have noted, correcting for the temperature dependent shift is usually done by measuring temperature or a known signal from source or pulser. I've seen a few different ways this has been implemented:
  • Temperature control of the detector enclosure by a heating element and thermostat to maintain a constant temperature and avoid changes to begin with
  • Monitoring temperature and adjusting the electronics gain or bias voltage in real-time to compensate
  • Monitoring the position of an introduced peak and adjusting electronics in real-time
    • This can be from a small radioactive source placed near the detector to introduce a known peak
    • The source may even be part of the detector - in a LaBr3(Ce) crystal, natural La has a small proportion of La-138 that produces peaks you can track
    • or an LED pulser replicating the light emissions of detection events
  • I've also heard of systems that monitor temperature or known peak position and apply a correction to channel numbers entirely in software rather than by adjusting electronics, which sounds closer to your suggestion, but based on temperature sensing or a deliberately introduced peak, rather than anything in the sample spectrum.
I'm not sure exactly what the approach in the BeqMoni Stabiliser function you mentioned is; it looks to me to be just some averaging and smoothing of peaks post-acquisition, rather than anything in real-time - but it's not something I've had any experience with.
tim.hbn wrote:
01 Dec 2021, 10:52
The algorithm would record each individual pulse detected together with its height.
Individual recording and timestamping each pulse is known as List Mode acquisition, and where it's possible, it can be a powerful tool that opens a number of doors for novel after-the-fact analysis based on timing information. There's historically been reasons list mode acquisition has not been used, both in terms of the time response of acquisition hardware, and also the large file sizes created by individually recording and timestamping every pulse as opposed to just producing a histogram - however, with modern hardware and data storage, list mode is much more of a practical possibility, and is implemented on some commercial acquisition hardware.
If you have list mode acquisition, implementing something very close to your suggestion as part of your analysis sequence doesn't sound too unreasonable - you could do something along the lines of:
  1. Split your list mode data into time segments - eg for a 3600s acquisition, you might split into 36x 100s sub-acquisitions
  2. For each sub-acquisition, find the peak centroids for each peak of interest
  3. Determine if a pattern exists in how the centroids shift over time - interpolate or fit a function
  4. Correct every pulse's channel by its predicted shift from the function
  5. Form a histogram from the corrected pulses
Of course you'd have to be careful to avoid edge cases like the example given of decay during acquisition changing the spectrum, but with an intelligent analyst making decisions rather than handling everything over to AI, this sort of process could be applied. I would still recommend using the temperature monitoring or source-based techniques as being much easier, though.
Joseph Neilson | Professional Radiometric Assay Physicist, UK | LinkedIn | ORCID

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests