XRF Visualization Software
Peakaboo allows users to identify the spectral origins of the XRF spectrum using a technique 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.
Downloads for Windows, Mac, Linux
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 others.
Where applicable, noise removal filter parameters can be adjusted to suit the data in question. Best noise reduction with minimum change in peak shape is often achieved using a Savitsky-Golay filter.
Background removal or reduction is particularly important for spectra acquired using white radiation. Peakaboo has a number of background removal filters of varying sophistication and performance. Varying levels of background can be removed.
The spectra produced are fitted with several K, L, or M lines for each element. The line positions and relative intensities for each line series were taken from several tabulated sources, including Xraylib. For fitting of the spectral peaks, a Pseudo-Voigt function is used. Thus, the identification of a particular element requires a close fit of multiple lines in the spectrum, each with its own shape.
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 four sets of elements.
Peakaboo allows users who are comfortable with Java programming to extend Peakaboo in three ways:
- Filters
- Data Sources
- Data Sinks
To get started creating your own filters or file format support, all you need is the Peakaboo JAR to build against. For more information on creating plugins, see the user manual.
Peakaboo can also be used as a library. This is also the easiest target to build custom plugins against. Read more about Peakaboo as a library without the GUI.
Peakaboo builds and manages its dependencies with maven, however it does also depend on several other libraries on GitHub which are not in maven. These are:
- nsherry4/Cyclops Scientific Data Type & Visualisation Library
- nsherry4/Eventful Simple, UI Friendly Event Library
- nsherry4/Swidget Mixed Collection of Swing UI components
- nsherry4/Plural Library to help parallelize tasks, show progress, and allow user cancel
- nsherry4/Scratch Tools for working with large amounts of data in small amounts of memory
- nsherry4/Stratus Stratus Look and Feel for Java Swing
- nsherry4/Bolt Java library for loading, compiling, and interpreting plug-ins.
- nsherry4/AutoDialog Model+Hint based simple UI auto-generation
Building Peakaboo will require these projects as well, all of which are also managed and built with maven.