Level: Intermediate, Advanced
WESPA++ new release from 20 June 2018
WESPA++ (new version released on 20 June 2018), blog post
WESPA++ (Web-based Spectrum Analyser) is an interactive peak-search based gamma spectrum analysis tool for nuclear and radioactive material identification. Through an intuitive interface, it allows the user to assist in the nuclide identification process. WESPA++ can process spectral files with the IAEA *.spe format directly. Other formats need to be first converted using the Cambio++ file converter application in Nucleonica. The WESPA++ application, in Nucleonica has recently undergone a major revision.
The new features include:
– a new algorithm has been developed for searching the entire gamma energy database rather than just specific libraries. This has the major advantage that the users no longer need specify a gamma library
– the spectra are shown using SVG (scalable vector graphics) rather than a graphics plugin. This has many advantages, not least of which is the possibility to zoom into sections of the spectra for more detailed analyses
– a new tab – mySpectra – has been introduced which allows the users to select and manage their spectra. Spectra in iaea .spe format can be uploaded, downloaded and deleted
– once an energy has been selected, the list of candidate nuclides is listed in the grid and arranged according to specific weighting factors. The most important of these weighting factors is the number of peaks common to both the sample spectrum and the candidate nuclide. If the number of common peaks is high, then this is a strong candidate nuclide in the sample.
The WESPA++ gamma spectrum analysis and nuclide identification module is aimed primarily at training within the field of nuclear security. For simplicity of use, a number of sample gamma spectra are available for test purposes. Inexperienced users can start by analysing these spectra and obtaining a first list of candidate nuclides. Through this “learning by doing” process, students obtain direct, first-hand experience in the problem of gamma spectrum identification. Within this context, the Gamma Spectrum Generator (GSG) in Nucleonica is also of interest. With this tool, the user can generate gamma spectra for any mixture of radionuclides. With WESPA++ the aim is the opposite: starting with a gamma spectrum, the goal is to identify the nuclides. By combining the GSG and WESPA++ modules, students have a powerful combination of tools for spectrum creation and analysis. With these tools, many of the problems encountered in gamma spectrum analysis for nuclear security can be demonstrated. The WESPA++ gamma spectrum analysis module is under continuous development through a collaboration between the Nucleonica team and international experts in the field of radionuclide identification.
WESPA++ profits from the latest internationally evaluated nuclear data available in Nucleonica. In addition, full standardised technical documentation is provided in the Nucleonica wiki. Users can post questions, comments, and suggestions in the Nucleonica forum and obtain answers from experts in the field.
On launching the application, the user interface shows the mySpectra tab and lists the user and system spectra, size of the file in kB, creation date, and download and delete buttons. Spectra names in bold refer to pre-defined (system) spectra for testing and demonstration purposes. User uploaded spectra are indicated in non-bold text. Clicking on the Getting Started or Help link in the taskbar leads directly to this wiki page. Shown above the list of spectra, there are Upload and Create links. The Upload link allows the user to upload a .spe file for viewing and analysis. The Create link allows the user to create a gamma spectrum for an unknown nuclide. WESPA++ can then be applied to identify the nuclide(s) (The nuclide is selected randomly and the Gamma Spectrum Generator is used to generate the spectrum).
To the right of the spectrum selected in the grid, a small graphic allows to user to see the spectrum. Below this image, a number of check boxes show the spectrum resolution. The check box selection is done automatically but can be overridden.
A spectrum can be viewed by clicking on the spectrum name in the mySpectra tab and then clicking on the Peak Analysis tab. The spectrum is then shown (see figure below). The mouse can be used to place the cross-hair over a peak (shown) to obtain the peak energy and number of counts. Detailed graph settings can be seen and edited by ticking the Show graph settings check box below the graph.
The cross-hair can also be used to zoom into a particular part of the graph by defining a rectangular area to be expanded as shown in the figures below.
Step 1: Peak Identification
The first step in the spectrum analysis is the peak identification. The peaks are identified by pressing the Identify peaks button. The resulting spectrum showing the identified peak and peak energies is shown in the figure below. Identified paeks are indicated by a small black triangle over the corresponding peak. The peak energies are listed in the table below the graph.
Step 2: Show Candidate Nuclides
In the second step, a single peak (energy) is selected either by clicking on the black triangle in the graph or on the energy in the table below. As soon as a peak has been selected, a second table is shown consisting of a list of all (candidate) nuclides with a similar energy. From the figure below, it can be seen that the energy 344.57 keV has been selected by clicking on the corresponding black triangle in the graph. This energy is also shown highlighted in the (left) table below the graph.
A soon as the energy has been selected, a list of (39) nuclides is shown with energies within 0.6 keV of this value. This energy uncertainty is set in the Options tab. The default values for high resolution and low resolution spectra are 0.6 keV and 4 keV respectively. This then means that there are 39 nuclides with energies 344.57± 0.6 keV listed in the table to the right. The database used for the searching process is shown directly below the Identify peaks button. In this case the database used is the JEFF3.1 with 54004 gamma lines from 1325 radioactive nuclides. Alternative databases can also be selected for the search (e.g. ENDF/B-VII.1 or 8 TORI) in the Options tab.
Step 3: Superimpose Spectrum of Candidate Nuclide
In the third step, a candidate nuclide is selected from the second table. Following selection of the nuclide, its spectrum is shown superimposed on the initial spectrum. In the example below the nuclide selected is the first in the list i.e. Tb-152. A soon as this nuclide is selected, its spectrum (green) is superimposed on the original (red) spectrum. If there is a good match, the red and green spectrum should overlap. This is not the case for Tb-152 as can be seen from the graph, implying that the spectrum is not due to the presence of Tb-152.
Further down the list, in third position, the nuclide Eu-152 can be seen (in this case we know that spectrum is due to Eu-152!). We now click on Eu-152 to see its superimposed spectrum.
As can be seen from the graph above the red and green spectra overlap. The implication is that the spectrum is due to Eu-152. Finally we click on the Add to identified nuclides button to place the identified nuclide in a separate table. In more complicated cases, the spectrum may be due to a mixture of nuclides. We then have to repeat the above operations to identify further nuclides.
Ranking of Candidate Nuclides
As mentioned above, once an energy has been selected, the list of candidate nuclides is listed in the grid. In principle one can just click through the nuclide list. If good visible agreement is seen in observed in the graph (by comparing the original spectrum (red) with the spectrum of the candidate nuclide (green)), the selected nuclide is a strong candidate nuclide. In most cases, however, the number of candidate nuclides in the table can be quite large (many tens to over one hundred nuclides), it is useful to have some additional ranking criteria. The three ranking criteria used are based on a) emission probability, b) number of common peaks, and c) the missed counts.
The emission probability gives an indication of the strength of the emission at a particular energy. Arrange the results is the table in descending order of emission probability can give a first indication of potential candidate nuclides.
The number of common peaks is also a very useful ranking criterion. Clearly if the experimental spectrum and the candidate spectrum have a large number of common peaks, this is a strong indication the presence of this nuclide.
The column missed counts is the number of counts found in the simulated spectrum of a candidate nuclide but not present in the original spectrum: this is the area of the candidate spectrum above the original spectrum. If this number is too high the candidate is not in the spectrum and can be rejected. A good candidate in turn has a low number of missed counts
The column unmatched peaks shows the number of gamma lines from the candidate nuclide not present in the original spectrum. If this number is too high the candidate is not in the spectrum and can be rejected (however, see the comments below)). A good candidate in turn has a low number of missed counts.
It should be noted, however, that even when the correct candidate nuclide has been selected, there can still be a considerable number of unmatched peaks in the spectrum. Some possible reasons for this are:
- The peak intensity is too low, that is below the minimum detectable activity (MDA) and therefore not visible in the spectrum
- Emission probability and/or the nuclide concentration in the source too low
- The spectrum peak was not identified as a peak in the original spectrum using the peak identification algorithm
- The spectrum is not properly calibrated and/or the energy uncertainty is too low.
A good candidate nuclide should have:
- A high (relative) emission probability
- A high number of common peaks
- A low number of missed counts
- A low number of unmatched peaks
It is sometimes necessary to recalibrate a spectrum. If energy peaks can be clearly identified in a spectrum, and accurate values of the peak energies are known, a spectrum can be calibrated. This is done by inserting the channel number in the table below and entering the corresponding known accurate energy (e..g. from the Datasheet). Thereafter the spectrum should be re-calibrated (press the Calibrate button) and the new calibration should be saved (press the Save button). Thereafter, a new spectrum will be generated with calibration information in the name of the file e.g. File1_Cal0.spe. The peak analysis should now be carried out again using this calibrated spectrum.
Upload and Create Spectrum
In the mySpectra tab above the list of spectra, there are Upload and Create links. The Upload link allows the user to upload a .spe file for viewing and analysis. The Create link allows the user to create a gamma spectrum for an unknown nuclide. WESPA++ can then be applied to identify the nuclide(s) (The nuclide is selected randomly and the Gamma Spectrum Generator is used to generate the spectrum).
In the table above, a list of generated spectra for randomly selected nuclides is shown (RandomSpectrum_5.spe to RandomSpectrum_8.spe). The underlying nuclide giving rise to the spectrum are not indicated. The user can create such spectrum and obtain experience is using WESPA++ to identify the underlying nuclide(s).
It should be noted that although a single random nuclide is use to generate the spectrum, the Gamma Spectrum Generator accounts for daughter products from radioactive decay. This implies there may be more than one nuclide responsible for the spectrum.
In the following example we consider the analysis of the system spectrum Random_Spectrum_5.spe. When this spectrum is selected from the list of spectra, the small graph to the right of the grid show the spectrum.
In the Peak Analysis tab, the spectrum can now be analysed. By clicking on the Identify Peaks button, the identified peaks are shown both in the graph (indicated by small black triangles) and in the table below the graph. A particular peak can now be selected either by clicking on the peak in the graph or on the line energy in the table. This is shown in the figure below where the energy at 510.95 keV has been selelcted. The table to the right then shows the list of candidate nuclides (i.e. nuclides which have a gamma emission at this energy).
It can be seen that 410 nuclides have been identified to have a gamma emission at this energy. In principle one could select each of these nuclides in turn to see the superimposed spectrum of the selected nuclide in the graph. Most of the selected nuclides will show superimposed spectra completely different to the spectrum being analysed and can be deleted. This is a very time consuming process. A much more efficient procedure is to use the filters available in the table to rank the list of nulcides (see Ranking of Candidate Nuclides).
In most cases the ranking by found peaks is the most useful. In the example above it can be seen that the nuclide Nd 139 has 22 common peaks with the spectrum being analysed. Clicking on this nuclide, its gamma spectrum is then shown superimposed (green) on the random spectrum (red) as shown in the image below.
Clearly Nd-139 is a very strong candidate nuclide and for this reason can be added to the list of identified nuclides by clicking on the Add to identified nuclides button.
It will be seen, however, that not all peaks have been identified. In the found peak list, the nuclide with the second highest ranking - Pr-139 - has 13 common peaks with the random spectrum. Clicking on this nuclide, the superimposed spectrum is shown in the graph. Clearly Pr-139 is also a candidate nuclide and can be added to the list of identified nuclides as shown in the figure below. Here it can be seen that all the of the peaks have been identified. The randomly selected nuclide was Nd-139. Pr-139 is a daughter product on Nd-139 and shows up in the spectrum generated by the Gamma Spectrum Generator.
In the Options tab the user can select the databases used (default JEFF3.1) in the energy searches, the energy uncertainties in the peak searches (0.6 keV and 4 keV for high and low resolution detectors respectively) and the numbers of lines shown in the tables (default 10). Also shown is the efficiency curve for the detector (high resolution efficiency curve shown).
In most cases users will not use gamma libraries for the nuclide identification but the full gamma energy databases described above. For particular cases it may be interesting to use predefined or user created libraries. In this tab the user can see the library details giving the list of nuclides with their energies and emission probabilities, etc. in the table for the selected library.
In the Library details tab
Frequently asked questions
1. What is the basic idea behind the nuclide identification algorithm used to interpret gamma spectra in WESPA++?
There are three basic steps in the WESPA++ algorithm:
- an uploaded spectrum is searched to identify the energy peaks.
- for each energy peak Ep identified, a list of nuclides is shown with an energy peak near to this value (i.e. if the nuclide has a gamma energy En in the range Ep - δ ≤ En ≤ Ep + δ where δ is the energy uncertainty.)
- the gamma spectrum of each nuclide in the list is then superimposed on the original spectrum. The user can then compare the two spectra visually. If the two spectra match well, the candidate nuclide is accepted; if they do not match, the nuclide in the list is deleted. By repeating this process for each nuclide, the nuclide(s) giving rise to the spectrum can be identified.
2. How does the peak search work?
To find a general valid optimised algorithm for peak search is not an easy task (Brutscher, 2005). A peak can basically be defined as some structure with a certain area and whose shape is given by the detector resolution. A good algorithm should have maximum sensitivity (very small peaks shall be detected), a minimum number of false peaks (statistical variations should not be counted as peaks), good resolution (peaks near to each other should be identified).
The goal is then to find an algorithm which calculates the area and area error for each point of the spectrum and which enable to fulfill the above criteria. This has been explained in detail by Brutscher, 2005.
3. Why are some peaks not identified as such (no black triangles) in the displayed spectrum?
- the peak is not in the underlying gamma library
- the peak is too small
- the peak is not recognized because it is on a Compton edge
- the FWHM used by WESPA does not match well enough the FWHM of the analysed spectrum
4. How does the zoom feature in spectrum graph work?
Just press the left mouse button at any point in the graph area to mark a corner of the region to be selected and move the mouse pointer to its opposite corner. The marked region changes its colour. Releasing the mouse button will lead to a magnification of the selected region. The crosshair and the cursor coordinates help to determine precisely the region to be zoomed.
5. What is meant by “found peaks” in the candidate nuclides table?
This number means the number of energies of the candidate nuclide matching a peak from the spectrum within the given energy tolerance. Candidate nuclide energies corresponding to a spectrum peak should be counted as one peak.
6. What is meant by “missed counts” in the candidate nuclides table?
Once a candidate nuclide is selected, its spectrum is modelled using the parameters (efficiency and FWHM curves) applied to the radiation data (energy and emission probability) taken from the selected database. The missed counts are obtained as follows:
- the modelled spectrum is then superimposed on the original spectrum.
- the area of the peaks not found in the spectrum correspond then to counts missed in the original spectrum.
- the summed missed counts of a nuclide are shown in the table: the relevance of a nuclide decreases with increasing missed counts.
7. In the Options tab, what is meant by Peak Search Energy uncertainty?
The energy uncertainty belongs to the measured spectrum and is used to find matching peaks of candidates nuclides: a match occurs only if the energy difference between a spectrum peak and a candidate nuclide peak is less than or equal to this energy uncertainty. Decreasing the uncertainty reduces the number of candidate nuclides with the risk of missing potential candidate nuclides. For a precisely calibrated spectrum the uncertainty can be reduced to about one channel which drastically reduces the number of candidate nuclides.
8. How is the efficiency curve calculated?
- For small photon energies (<70 keV) the detector absorbs every incident photon completely, the efficiency is
mostly influenced by absorption in detector dead layers or in the detector window. The attenuation coefficient for most materials in this energy range decreases with an exponent of –2.7. If the effect of discontinuities at the k-shell energies are neglected and the windows are not too thick, all effects of absorbing windows can be described by one parameter.
- For high photon energies the attenuation in detector windows can be neglected, the efficiency decreases with
an exponent –b with increasing photon energies. The formula below for calculating the intrinsic efficiency takes both regions into account:
with the parameters ae, be and E0. To calculate the absolute efficiency eabs (relation of all photons emitted by the radiation source to all measured photons) there is only there is only the geometry factor in between (assuming a point source):
J. Brutscher et al., Isotope identification software for Gamma spectra taken with CdZnTe detectors. Nuclear Instruments and Methods in Physics Research A, February 2001.
J. Brutscher, Identify: Program for identifying nuclides from gamma spectra, version 1.8 August 2005.
Note: WESPA++ is based on the highly accurate nuclide identification software “Identify” developed by J. Brutscher at gbs-elektronik in cooperation with R. Arlt from the IAEA.