Introduction
This article is the fourth in a series describing the setup and use of NIST DTSA-II. The previous articles [Reference Ritchie1, Reference Ritchie2, Reference Ritchie3] may be viewed in the Microscopy Today archives at www.microscopy-today.com. Part I of this article [Reference Ritchie3] described how to use DTSA-II to quantify an energy dispersive X-ray spectrum from a material of unknown composition. That presentation covered each step and provided background material but lacked a concrete example. This follow-up article provides two such examples.
Setup and Preliminaries
Follow along on your computer. You are encouraged to follow along using DTSA-II on Windows, OS X, or Linux [4]. I have made the necessary files available on the NIST web site [5]. The files are compressed into a single ZIP archive file. Expand the archive file into a convenient location using one of the many commercial or free ZIP file tools (WinZip, 7-Zip, PKZIP, or others). The archive contains two examples and a pair of script files. The script, config.py, is provided as a convenient mechanism to define a detector like the one on which the spectra were collected. You only need to run this script once. Scripts are executed from the DTSA-II “Command” tab (right-most tab in the middle of the main window). Select the “Open” button on the “Command” tab to locate and open the file config.py. The script will take a fraction of a second to execute and will report success. Restart DTSA-II after executing the script.
The script creates a new detector definition. Make this definition the default by selecting it from the “Default Detector” selection panel on the “Spectrum” tab. Select the instrument “FPS” and the detector “Detector 0 – Medium.” This step ensures that the calibration and efficiency of the detector are appropriate for the example spectra. You may now use the “File → Open” menu item to load the tutorial spectra into memory.
Preparing spectra. The archive contains two examples—both taken from NIST's extensive collection of engineered glasses. Example 1 is more straightforward because it uses pure element and simple compound standards to quantify a Si, Al, Mg, Na, Fe, and O bearing glass. Example 2 is more sophisticated. This example uses standards similar to the unknown to improve accuracy but requires additional reference spectra. The example spectra are divided into three types: unknowns, standards, and references. The labels “unk,” “std,” and “ref” are appended to the file name for each type respectively. The labels are a useful shortcut to identify the type of information that is recorded in each spectrum file. The least information is available for “unk” (unknown) spectra. “Unk” files must contain the beam energy, the probe current, the live time, and basic energy calibration data. “Std” (standard) spectra contain this information plus a record of the composition of the material from which the spectrum was collected. “Ref” spectra fall between “std” and “unk.” Strictly speaking, you don't need to know the probe current or composition for “ref” spectra, however it is important that the spectrum contained with “ref” represent a clean example of one or more line families of the element(s) for which this spectrum is to act as a reference. By clean, we mean that the shape of the relevant characteristic lines are not modified by the presence of another element's characteristic lines.
Adding information. As collected, spectra often do not contain the requisite information. DTSA-II provides tools to add information and save the resulting data to a new file. DTSA-II does not overwrite existing spectra because it respects the sanctity of the raw data. The “Tools → Assign material” menu item allows you to associate a composition (the “Standard Composition” property) with one or more selected spectra. The “Tools → Edit spectrum properties” menu item allows you to modify the beam energy, probe current, live time, and working distance associated with one or more selected spectra. If you are following along with the example data set, open one or more of the “std” spectra and review the spectrum properties and composition in the tables and via the menu items.
Collecting standard spectra. A recent addition to DTSA-II is the “create standard” menu item, which is available from the spectrum list's context menu. This command verifies that all information necessary for a standard is present in the spectrum data and allows you to update this information. It will also sum together multiple spectra into a single spectrum. To ensure robust, reliable standards, it is best to collect 3 or more spectra from different points on the standard material and then check the shape and intensity of the spectra against each other for consistency. Inconsistent spectra can be discarded and the remaining spectra summed into a single high-quality standard spectrum.
Highlighting the spectra, one-by-one, in the spectrum list allows you to review the spectrum properties, including a standard's composition. The properties are displayed in the table to the right of the spectrum list and the composition in the table in the lower-right corner.
When you are done, clear the “std” and “ref” spectra from memory by selecting these spectra in the spectrum list (use the “Ctrl” key to select multiple files). Click the right mouse button over the spectrum list to bring up a menu and select the “Clear selected” menu item.
Example 1: Quantifying an Unknown Glass
Use “File → Open” to load the three spectra labeled “Glass[?] unk.msa” from the “Example 1” directory. To start the quantification process, select the unknown spectra in the spectrum list—they will display in the spectrum plot window—and then invoke the “Tools → Quantification alien.” A dialog will present itself. The dialog consists of a sequence of panels through which you progress by providing the requested information and selecting the “Next” button. If some information is missing, the dialog may not permit you to proceed. You may generally back up using the “Previous” button to reconsider previous answers.
First panel. The first panel (“Select a quantification mode”) determines what task you wish to perform. In this example, we should select the item “Determine the composition of an ‘unknown’ spectrum by MLLSQ fitting to standards,” and select “Next.”
Second panel. The second panel asks you to verify the instrument, detector, and beam energy information contained within the spectrum files. This information is read from the selected spectra and should be correct (“FPS,” “Detector 0 – Medium,” and “15 keV.”) If the information is not correct, verify that the steps in the setup section were followed correctly.
Third panel. The third panel (“Specify standard spectra”) allows you to select spectra to use as standards (see Figure 1). Use the “File” button to load standard spectra from disk. The example requires five standard spectra: “Al std,” “Fe std,” “MgO std,” “NaCl std,” and “Si std.” You can select all five files simultaneously or repeat the “File” operation five times. Because the composition is recorded in the spectrum file, the program knows which materials the spectra represent and can ask more intelligent questions about which elements to associate with the spectra. For pure elements, the choice of element is trivial. For compounds, the program will allow you to select one or more elements with which the spectrum will be associated as a standard. In this case, you should specify “O” for “MgO” and “Na” for “NaCl.”
The standard selections are summarized in a table. You have one last chance to ensure that the spectrum properties are correct. The “Properties” button allows you to edit the “probe current” and “live time” if they are incorrect. The “Composition” column cells also allow you to update the mass fractions of the material from which the spectrum was collected. When all the data match the contents of Figure 1, select “Next” to continue.
Fourth panel. The fourth panel asks if there are any additional elements that should be considered. These are elements that are not measured directly but are deduced according to an algorithm. The default selection is “No extra element,” which is what we will select because we have provided standards for each element. However, if we had omitted the “MgO” standard for oxygen, we could have specified “Oxygen by stoichiometry.” As an exercise, you might repeat this quantification but omit the “MgO std” and try “Oxygen by stoichiometry.” The other alternative “Element by difference” is rarely a good idea, except for elements that simply can't be measured like H, He, Li, and Be. This algorithm assumes that the mass fractions of all elements present must sum to 1.0 and makes up any difference with an element you specify. Once you have selected “No extra element,” select “Next” to continue.
In this first example, the standard spectra can serve as both standards and references. The fourth dialog acknowledges this by associating each of the regions of interest with a reference spectrum that is identical to the standard spectrum. If we had required additional reference spectra, the missing references would be identified in red text (see Example 2). If you examine the reference list carefully, you will note that, even though we are going to use the Fe Kα for the quantification, you still need a Fe L-family reference. The Fe L-family reference might seem unnecessary, but it is required because the Fe L interferes with oxygen and, therefore, must be fit. In general, DTSA-II attempts to fit all line families, even if they are not used for quantification because this makes the residual spectrum more useful.
It is also possible to specify one or more elements to strip, that is, the element is fit but otherwise ignored in the quantification. Stripping can be useful to eliminate the characteristic X rays from conductive coatings (like carbon) that don't truly reflect the composition of the material. We won't use the strip option in this example.
Fifth panel. The fifth panel allows you to specify which lines to use in the quantification process. Despite fitting all the line families present in the unknown, we only use one family per element in the quantification process. For many elements, there is only one choice, and the table automatically reflects this choice. When there is more than one choice, the program tries to make an intelligent choice for you. Sometimes, you might like to override the selection; you can do so by selecting an alternative to “Auto” from the drop-down list associated with the cell in the table. In this case, the Fe Kα is the best choice, and it will be automatically selected so there is no need to force this selection. The results table reports which line was used. Selecting “Next” at this point initiates the calculations.
Sixth panel. The final panel shows a results table, which summarizes the measured compositions on a spectrum-by-spectrum, element-by-element basis. The default output mode is “mass fraction,” but you can select to output the results as “normalized mass fraction” or “atomic fraction.” When you are satisfied with the results, select “Finish,” and a summary of the results will be output to the report tab (see Figure 2).
Your results should match those in the figure. If there is a disparity, the top half of the report can help you to resolve it. The top tables summarize the instrumental conditions, the standard spectra, and the reference spectra. The contents of these tables should match the equivalent tables in your report.
The final table in the report summarizes the results. The left-most column of the results table contains the name of the unknown spectrum. The top row documents which element and which lines were used to perform the quantification. The next line contains the correction factors for the unknown relative to the standard. The next line summarizes the k-ratios. The k-ratio is the ratio of the intensity measured on the unknown to the intensity measured on the standard for the lines listed in the column header. The next three lines summarize the results of the measurement expressed three different ways: as a fraction of the total measured mass, as a fraction of the total mass normalized to 1.0, and as a fraction of the total number of atoms. The numbers in the line labeled “mass fraction” are bolded to indicate that these are the numbers you should report. It is good practice to report the un-normalized mass fraction because these numbers provide the most information about the quality of the analysis. The bottom line is an active link to the residual spectrum. You can reload previous reports from previous sessions into DTSA-II. This link and the other blue highlighted links can then be used to reload spectra. The report can be viewed in DTSA-II or in a web browser by selecting “Open in browser” from the “report tabs” right-click menu. In my experience, the reports look better in Firefox and Chrome than in Internet Explorer. The browser may then be used to print the report.
Sometimes, it is convenient to be able to copy the results into a spreadsheet. DTSA-II provides the following way to do this. First, select the spectra you wish to summarize in the spectrum list. On the “Command” tab, place the cursor following the last “⟩” and type the command “tabulate(selected(), with Errs =True)” followed by the ⟨Ctrl-Enter⟩ keystroke. If you have entered the command correctly, the compositions associated with the spectrum will be summarized in table format. You may highlight the table and, via a right-click menu, copy the text onto the clipboard. The table may then be pasted into a spreadsheet or a text document.
Two additional spectra (see Figure 3) are derived from each unknown and added to the spectrum list. These are the residual spectrum and the simulated spectrum. The residual spectrum is useful for determining whether any elements were missed while quantifying the unknown spectrum. As you recall, an electron-excited X-ray spectrum is divided into two contributions: Bremsstrahlung and characteristic peaks. The residual spectrum is essentially the unknown spectrum minus the characteristic X rays for which we have accounted. The residual should therefore essentially represent the Bremsstrahlung. Because the Bremsstrahlung is a relatively slowly varying signal, when we have accounted for all characteristic X rays, we don't expect to see any remaining peaks. If the residual spectrum does contain peaks, then you should investigate. The most likely cause is an omitted element.
Example 2: Using References
In the second example, we will quantify a K412 glass spectrum using a similar glass, K411, as a standard for Mg, Si, Ca, Fe, O, and pure Al as a standard for aluminum (Figure 4). We will need to specify references for the Ca L-family, the O K family, and the Fe L-family. I have provided the necessary references in the “Ca ref.msa,” “MgO std.msa,” and “Fe std.msa” files. K411 and K412 are certified reference materials. The certified composition of K412 is 0.2120 Si, 0.1166 Mg, 0.1090 Ca, 0.0774 Fe, 0.0491 Al, and 0.4276 O by mass. Your result should be accurate to with 0.002 by mass for each element.
The procedure is basically the same as for Example 1, except that you will specify that the “K411 std” spectrum is a standard for Mg, Si, Ca, Fe, and O. “Al std” serves for Al. Because there are many lines in the <2 keV region of the spectrum, you will also have to specify references for the Ca L-family, the Fe L-family, and the O K-family. The “Ca ref,” “Fe std,” and “MgO std” spectra can serve as these references.
Alternatively, you can quantify K412 using pure elements and simple compound standards. “CaF2 std,” “Si std,” “Al std,” and “Fe std” have been provided for Ca, Si, Al, and Fe, respectively. The “MgO std” can serve for both Mg and O. This time the result is less accurate because Si differs by a little over 0.01 by mass, and O differs by a little over 0.02 by mass. In contrast, when we used a similar standard, the results were accurate to within 0.002 for each element. This is not atypical. The best quantitative results are usually achieved using similar standards rather than pure elements and simple compounds. K411 is an ideal similar standard for K412 because K411 and K412 are very similar in composition, except that K412 has about 0.05 mass fraction of Al whereas K411 has no Al. The least accurate part of the quantitative analysis process is typically the quantitative correction step (the so-called “ZAF” or φ(ρz) correction), which compensates for differences in X-ray generation and transport between the standard and the unknown. This correction is typically smaller and less susceptible to poorly known parameters when the standard material is similar to the unknown material.
Discussion
This tutorial shows how DTSA-II guides you through the process of quantifying an unknown spectrum. Although each step is relatively simple, the distinction that gives novices the most conceptual difficulty is the distinction between standard spectra and reference spectra. To reiterate, standard spectra are used to provide intensity information (how many X rays are generated by an element in a material by a certain dose of electrons) whereas reference spectra provide peak shape information (what do the K, L, and/or M families of lines look like for a specific element). Both are required for each element/line family, although, in many cases, one spectrum can serve as both a standard and reference.
The quantification process is simplest if the standard and reference spectrum files contain all the necessary contextual information as is discussed in the “preparing spectra” section. This may take a little effort at the beginning of the quantification session, but this effort will be amply rewarded later on.
NOTE: The script, clean.py, reverses the actions performed by config.py and may be run to remove the “FPS” instrument and “Detector 0 – Medium” detector from your system after you have finished the tutorial.
Conclusion
This concludes the pair of articles introducing quantification with DTSA-II. Quantification is only one of many of DTSA-II's talents. Subsequent articles will discuss DTSA-II's tools for Monte Carlo and analytical spectrum simulation and will provide a tutorial on qualitative analysis—a critical but often underappreciated skill.