Peakaboo 4 XRF Analyzer


Peakaboo Has Moved

New versions of Peakaboo are now being released on GitHub.

Peakaboo is a part of the Science Studio package that allows users to identify the spectral origins of the XRF spectrum using a routine that fits all components of the K, L, or M spectrum including escape peaks and pileup peaks, and then plots their spatial intensity distributions as maps.

Smoothing Noise Reduction

Noise reduction is essential since the spectra are taken at very brief intervals while the sample is scanned in the x ray beam. The software provides a number of mathematical filters that are used in noise reduction or in background attenuation or removal. Noise filters include moving average, fast Fourier transform (FFT) low pass, Savitsky-Golay and wavelet transform.

Where applicable, the reach and order of the polynomial used can be altered. For the FFT low pass filter, the type of rolloff and the start and end energies of the rolloff can be specified. Best noise reduction with minimum change in peak shape is achieved using a Savitsky-Golay filter (7th order polynomial with a reach of 15). However, the processing time is lengthy with a desktop computer. Other filters, with different balances between quality and speed, are also available.

Background Background Removal

Background removal or reduction is particularly important for spectra acquired using white radiation on the VESPERS beamline. A Brukner filter function is most highly recommended for use in suppressing backgrounds arising from x ray scattering and is recommended here. As well, a parabolic filter with a variable polynomial is available to determine the position and shape of the spectral background. Varying levels of background can be removed; The default stting is 90% background removal. It is not recommended to remove more than 95% of the background since the fitting of the peaks is sometimes affected.

Fitting Peak Fitting

The spectra produced are fitted with several K, L and (sometimes) M lines for each element. The line positions and relative intensities for each line series were taken from several tabulated sources. Fits take account of details such as separations and relative intensities of Kα1 and 2, Kβ 1, 2,and 3, Lα, Lβ1 and 2, Lγ 1,2,and 3 lines.

For most of the K series elements from Ca to Mo, the relative intensities of alpha and beta composite lines were checked and adjusted for our Lookup Table using metals or compounds. As well, a number of metals with strong L series spectra were analysed and the relative intensities adjusted accordingly; most (but not all) ratios were found to agree well with the tabulated sources.

For fitting of the spectral peaks, a Gaussian function was used with preset widths. Thus, the identification of a particular element requires a close fit of multiple lines in the spectrum, each with its own shape. When the presence of a particular element is to be tested in the presence of overlapping lines, the unknown element’s predicted spectrum is fitted to that portion of the measured spectrum which is not already accounted for by the fittings from the other elements. The fitting algorithm developed does not allow all sets of elemental peaks to be freely variable to fill the available peak intensity envelope.

A criterion for introducing a new elemental fitting is that the amount of fitted signal will be limited by the least-represented line to prevent misattribution of overlapping lines. Thus, the fitting algorithm is greedy (fits against as much signal as it can) on an element-by-element basis, but not on a peak-by-peak basis. Several fitting sequences need to be tested to ensure that the solution is consistent.

Mapping Results Mapping

Once peak fitting has occured, one or two dimentional data sets can be mapped to show the distribution of the selected elements. Peakaboo can show individual elements, composites of several elements, ratios of sets of elements, or overlays of up to three sets of elements.

Fitting User Extendable

Peakaboo 4 allows users who are comfortable with computer programming to extend Peakaboo. The Java and Jython (Python for Java) filters allow users to apply custom adjustements to their data on the fly. More adventurous users can add support for new file formats, and create new, full-fledged filters to process their data with. To get started creating your own filters or file format support, download the Peakaboo SDK.