By Matthew R. Linford, Contributing Editor
An Introduction to Convolution with a Few Comments Beforehand on XPS Introduction
T
his month’s contribution went off in a direction I hadn’t anticipated. I had originally planned to write specifically about X-ray photoelectron spectroscopy (XPS),1 discussing some of the functions regularly used to peak fit its narrow scans. These functions include the Gaussian-Lorentzian product function (GLP), the Gaussian-Lorentzian sum (GLS) function, and the convolution of the Gaussian and Lorentzian functions, known as the Voigt function. I do want to write about these topics soon, and I believe that the continued focus on XPS in my columns is appropriate. My justification for this general direction is in Figure 1. This figure gives the results from a keyword search on X-ray photoelectron spectroscopy (XPS), Auger electron spectroscopy (AES), and time-of-flight secondary ion mass spectrometry (ToF-SIMS), which are arguably the three most important high vacuum, surface analytical techniques. At least two trends are apparent here. The first is that over the past 20+ years, the number of papers mentioning each of these three techniques has grown steadily. These data support the idea that surface analysis in general is increasing in importance. However, the second trend is that XPS has clearly emerged as the dominant technique in this area, now showing up in more than 10,000 publications per year. Of course, AES and SIMS are not going away. As noted, they are increasing in importance, and we have emphasized in previous columns the complimentary information provided by XPS and ToF-SIMS. In particular, SIMS does things that XPS can’t, and some samples, e.g., very complicated materials, are often much better analyzed by SIMS than by XPS.3 However, the fact that XPS is quite surface sensitive, quantitative, often provides data that can be interpreted in a relatively straightforward manner, can often give results about a material in an hour or less, provides both elemental compositions of materials and chemical state information about the elements in them, gives relatively uncluttered spectra, and is reasonably available (there are quite a few spectrometers out there) has made it the first technique of
2
[email protected]
choice for many surface analyses. For example, a few years ago we published a report on the modification of hydrogen/deuterium-terminated diamond particles.4 In this study, we first reduced commercially available diamond particles in heated H2 or D2 and then functionalized them with a reagent we had found would directly react with this material: di-tert-amyl peroxide (DTAP). The XPS survey spectra in Figure 2 told much of the story of this functionalization and to me are an example of the power and
Figure 1. Number of citations per year for XPS, Auger, and SIMS. This information was obtained from an ISI Web of Science citation search on: ‘X-ray photoelectron spectroscopy’ or ‘XPS’ (plotted as the blue line labeled ‘XPS’), ‘Auger electron spectroscopy’ or ‘AES’ (plotted as the red line labeled ‘Auger’), and ‘time-of-flight secondary ion mass spectrometry’ or ‘ToF-SIMS’ or ‘TOF-SIMS’ (plotted as the green line labeled ‘SIMS’). Note that (i) adding in the search term ‘TOF-SIMS’ had almost no effect on the results obtained with the two other search terms, and (ii) it was not originally my idea to create this figure. I first saw a very similar figure in a talk given by Mark Engelhard at this year’s Pittcon in Chicago. Mark, in turn, had obtained the figure from Cedric Powell. Despite some effort, I couldn’t find a way to get permission from the publisher to reproduce Cedric’s figure,2 so I did a series of citation searches, which extended the information in the earlier figure by Powell by a year, and plotted the results here.
June 2014 • Vacuum Technology & Coating
Figure 3. The unit step function, θ(x). See Equation 2. Figure 2. “XPS survey spectra of diamond powders: (a) clean, untreated diamond particles, (b) deuterium-terminated diamond particles, and (c) deuterium-terminated diamond particles treated with di-tert-amyl peroxide for 1 day at 110 °C.” Figure and caption reproduced with permission from L. Yang, M.A. Vail, A. Dadson, M.L. Lee, M.C. Asplund, and M.R. Linford in Chem. Mater. 2009, 21, pp 4359–4365. DOI:10.1021/cm803442x. Copyright 2009 American Chemical Society.
simplicity that XPS spectra can have. The as-received diamond particles showed a considerable amount of oxygen (note the O 1s signal in Figure 2a). The oxygen signal then almost entirely disappeared when the surfaces were reduced (Figure 2b), and a small oxygen signal reappeared after the reaction with DTAP, which is an oxygen-containing molecule (Figure 2c). Of course there was more to the story. We also used Fourier transform infrared spectroscopy (FTIR) and ToF-SIMS to characterize the materials, and each of these techniques provided information that XPS could not. For example, after reducing the particles in deuterium, no FTIR signal in the C-H stretching region of the spectrum was apparent. After functionalization of these particles with DTAP, the signal in the C-H stretching region of the spectrum could then be attributed exclusively to chemisorbed DTAP. XPS C 1s and O 1s narrow scans were also collected, and while not discussed in detail in the paper they could have provided more detailed information about the materials. Nevertheless, there is an elegance and simplicity to the survey spectra in Figure 2 that speaks to the power of the technique. Peak fitting is an indispensible part of XPS data analysis,5 so as noted above it seemed appropriate to discuss the pros and cons of the commonly used GLP, GLS, and Voigt functions. However, as I began writing about the Voigt function, which is again the convolution of a Gaussian function with a Lorentzian function, I realized that many of my students really don’t understand convolution. It just isn’t covered well, and sometimes not even at all, in the mathematics classes they have taken. So I decided to take a little bit of the space in this column and explain this important concept. The principles of convolution show up all over science and engineering, including in surface and materials analysis. That ‘little bit of space’ kept expanding until I had filled an entire column on this topic. So if you wish to keep reading I hope you
will enjoy what I think will be a good, pictorial and mathematical description of this important concept. Background A few columns ago,6 I noted that the interaction of a very sharp AFM tip with a surface can be viewed as the convolution of a delta function with a function that represents the surface morphology. In this same article I also gave the example of the convolution of a very narrow infrared (IR) band with the Fourier transform of the apodization function used to process the data (interferogram). As these examples suggest, convolution shows up all over science, engineering, and data analysis, especially when one works with products of functions and/or their Fourier transforms. Our pictorial approach to understanding convolution will begin with the unit step function. One common representation of this function is known as the Heaviside unit step function: H(x), which is defined to have a value of 0 for x < 0, ½ at x = 0, and 1 for x > 0:7
5
0 ƒor x < 0 (1) H(x) = ½ at x = 0 1 for x > 0 In essence, H(x) is just two horizontal lines: one at y = 0 for x < 0, another at y = 1 for x > 0, and a single point, a null function, at (0, ½). Consistent with its name, it looks like a step. The unit step function can be defined in other slightly different ways as well. For the calculations used to make the figures in this column, I used the ‘UnitStep’ function in Wolfram Mathematica 9.0, which is defined as:
5
1ƒor x ≥ 0 (2) UnitStep(x)= θ(x)= 0 ƒor x < 0 Clearly this function is almost the same as Equation 1, differing only at x = 0. It is represented in Figure 3, and abbreviated as θ(x) in this column. For many applications, including for the purposes of this column, it does not matter very much whether we use θ(x), H(x), or even another variant of this function. Note also that the shading below the curves plotted herein is a guide to the eye and has no mathematical meaning.
Vacuum Technology & Coating • June 2014 www.vactechmag.com or www.vtcmag.com
3
Figure 4. Graphs of two functions: e-x (red line) and the unit step function, θ(x) (blue line).
Figure 4 shows two functions: θ(x) again (the blue line) and the common function e-x (the red line). These functions will help us understand what happens when we multiply θ(x) by another function, which is one of the important ways in which the unit step function is used. The product of these two functions is represented by the blue line in Figure 5. Note that this new product function (e-x θ(x)) is zero for x < 0 because θ(x) is zero in this range, and it is equal to e-x where x ≥ 0 because θ(x) is one in this range. Figure 5 also shows a second product function: e-2x θ(x) (red line). This function decays to zero faster than e-x as x → infinity. Convince yourself that all of this makes sense. Finally, we’ll end with a very practical use for θ(x), and that is to represent a signal being turned on at a certain time. Figure 6 shows the product of θ(x) and sin(x), which could represent an oscillating voltage turned on at time = 0. We’ll now need to remember the relationship between f(x) and the similar function f(-x). The key thing to remember here is that f(-x) is the mirror image of f(x), where the y-axis acts as the mirror through which this reflection takes place. We’ll illustrate these concepts with the θ(x) and θ(-x) functions, where the mathematical definition of θ(-x) flows directly from that of θ(x) and is given in Equation 3: (3)
5
1 ƒor –x ≥ 0 θ (–x) = 0 ƒor –x < 0
Let’s plug a few values for x into θ(-x) to see how it generates the graph of θ(-x) in Figure 7. (I chuckle as I write this. I am reminded of something one of my undergraduate mathematics professors at Brigham Young University: Harvey Fletcher Jr. – he was a great teacher, used to say. He’d plug a number or two into an equation we had derived to show its reasonableness and then remark with a smile: “It worked once… that’s an engineer’s proof.”) So let’s do our ‘engineer’s proof’ and put a few values for x into θ(-x). Let’s start with x = 5. From Equation 3 we see here that θ(-5) = 0 because the condition -5 < 0 is satisfied. Convince yourself that we’d get the same answer for any other positive number. Now let’s put a negative value for x into Equation 3, say -3. We see here that θ(-(-3)) = θ(3) = 1. Convince yourself that this result makes sense and that we’d get the same answer for
4
[email protected]
Figure 5. Graphs of the product of e-x and θ(x) (blue line) and e-2x and θ(x) (red line).
Figure 6. Graph of the product of sin(x) and θ(x).
any other negative number. Thus we see that Figure 7 is an appropriate representation of θ(-x). We now apply these principles to the function e-2x θ(x) that we first graphed in Figure 5. That is, if f(x) = e-2x θ(x), then f(-x) = e2x θ(-x). This function is graphed in Figure 8 as the red line. You should be able to convince yourself by looking at Figures 5 and 8 that f(-x) = e2x θ(-x) is the reflection of the previous function (e-2x θ(x)) through the y-axis. Now we need to talk about how to shift a function along the x-axis. Because of its simplicity, we’ll again work with the unit step function. The question is, what does θ(x - 1) mean? We’ll again do our ‘engineer’s proof’ and throw in a few numbers to
Figure 7. Graph of θ(-x). June 2014 • Vacuum Technology & Coating
self now that θ(-x - 4) is appropriately represented by Figure 11. Here’s one more thing that may help you here. Recall that the ‘step’ in θ(x) occurs at x = 0. Now, notice that in Figures 9 – 11 the ‘step’ in the function similarly occurs at the value of x obtained when the argument of the function is set to zero. Thus, for the θ(x - 1) function in Figure 9, we set x – 1 = 0 to get x = 1, which is where the ‘step’ is. Similarly, for Figure 10 we set x + 3 = 0 to get the location of the ‘step’ at x = -3, and for Figure 11 we set –x – 4 = 0 to get the location of the ‘step’ at x = -4. Also notice that it is the sign on x that determines whether the function is ‘reflected’ or not. If x is positive in the argument to θ, the function has a value of zero for more negative values and a value of one for more positive values, and vice versa. Figure 8. Graphs of e-x θ(x) (blue line) and e2x θ(-x) (red line).
Convolution
see what’s going on. Let’s plug in: -3, -2, -1, 0, 1, 2, and 3 which leads to θ(-4), θ(-3), θ(-2), θ(-1), θ(0), θ(1), and θ(2), respectively. Using Equation 2, we then get values of 0, 0, 0, 0, 1, 1, and 1, respectively. This function is graphed in Figure 9. We see here that the function θ(x - 1) is identical to θ(x), except that it has been shifted one unit to the right along the x-axis. We can also shift functions to the left along the x-axis. I’ll leave it to you to plug in a series of numbers to convince yourself that Figure 10 is a correct rendition of θ(x + 3). And finally, getting us where we need to be to understand convolution, we see that we can both shift and reflect a function about the y-axis. Convince your-
Now that we have covered the necessary background information, we can proceed to study convolution. Convolution is an operation between and on two functions that yields a new function. We’ll illustrate it with the two functions in Figure 5. Bracewell provides a similar example in his book.7 The first step will be to reflect one of the two functions through the y-axis. It doesn’t matter which we reflect. We’ll get the same answer either way. Here we will reflect the function e-2x θ(x) (the red line in Figure 5) to get e2x θ(-x) (the red line in Figure 8). Now, in a convolution, the reflected function is (i) moved to every possible position along the x-axis, (ii) at each of these points it is multiplied by the other function, and (iii) the integral of the product of the two functions is taken. We will illustrate this process for a series of different shifts. Figure 12 shows the (reflected) e2x θ(-x) function shifted 6 units to the left. It is represented mathematically as e2(x+6) θ(-(x+6)). Now we multiply this reversed, shifted function e2(x+6) θ(-(x+6)) by the unshifted function e-x θ(x). Notice, however, that the shifted function is zero for x > -6 and the unshifted function is zero for x < 0. That is, either or both of the functions is zero everywhere. Accordingly, the product of these two functions is zero and this new function, which is represented by the green line in Figure 12 integrates to zero – it has zero area. As a final step, we record the value of the shift of the reflected function (-6 here) and the area of the product of the two functions (0 here) as the value of the convolution for this particular shift: (-6, 0). In theory, we now repeat this process at every possible
Figure 10. Graph of θ(x + 3).
Figure 11. Graph of θ(-x - 4).
Figure 9. Graph of θ(x - 1).
Vacuum Technology & Coating • June 2014 www.vactechmag.com or www.vtcmag.com
5
Figure 12. Graphs of e-x θ(x) (blue line), e2(x+6) θ(-x - 6) (red line), and their product (green line).
shift between the two functions and for every shift we record the integral of the product of the functions. When we have done this we have a new function, which is the convolution of the previous two functions. We will now demonstrate this process graphically for a few more shifts between e-x θ(x) and the (reflected) function e2x θ(-x). Figure 13 shows the reflected function (e2x θ(-x)) shifted 4 units to the left (e2(x+4) θ(-x-4)) with respect to the unshifted function: e-x θ(x). We see, again, that when we multiply these two func-
Figure 13. Graphs of e θ(x) (blue line), e their product (green line). -x
2(x+4)
θ(-x - 4) (red line), and
tions together, the new function (the green line) is equal to zero at every point. Thus, it’s integral is again trivial and uninteresting – it is zero. Nevertheless, this exercise gives us another value for our convolution integral: (-4, 0). Figure 14 shows the reflected function shifted -2 units (e2(x+2) θ(-x-2)). Again, the product of our two functions is zero so the next point we have found for the convolution integral is (-2, 0). We can jump back to Figure 8 now. For a shift of zero between our reflected and unreflected functions we get the point (0, 0). At this point we ought to be able to see that for any shift of the reflected function to the left, our convolution integral will have a value of zero. Figure 15 shows the convolution of the two functions we have been working with. As expected, the value of the convolution integral is zero for every value of x ≤ 0. But now we shift the reflected function one unit to the right (see Figure 16). Things become much more interesting here. Now the two functions have a region in which their product is not zero. This product function is again represented by the green line in Figure 16, and the area under this green line is 0.233. Thus, we add another point to our plot (Figure 15): (1, 0.233). We continue this process. Figure 17 shows the reflected function shifted two units to the right. The green line again gives the product of the two functions, which only has a non-zero value from x = 0 to x = 2. The area under the green line in Figure 17 is 0.117, i.e., we have just generated the point (2, 0.117) in Figure
Figure 15. Graph of the convolution of e-x θ(x) and e-2x θ(x).
Figure 14. Graphs of e-x θ(x) (blue line), e2(x+2) θ(-x - 2) (red line), and their product (green line).
Figure 16. Graphs of e-x θ(x) (blue line), e2(x-1) θ(1-x) (red line), and their product (green line).
[email protected]
June 2014 • Vacuum Technology & Coating
6
As expected, these areas are getting smaller and smaller, and we now get the points (3, 0.047) and (4, 0.018) in Figure 15. Again, as this shift increases, the area of the product function will go to zero, which is also shown in Figure 15. I think we have now generated enough values on the curve in Figure 15 to see how the entire curve could be generated. The pictorial view we have taken to convolution is extremely useful for understanding how it works. There is, however, a concise (and correct) mathematical statement for the convolution, h(x), of two functions, f(x) and g(x): (4) Figure 17. Graphs of e-x θ(x) (blue line), e2(x-2) θ(2-x) (red line), and their product (green line).
15. We notice that the product function here has less area than the product function in Figure 16. That is, as the reflected function is shifted to the right, we will be multiplying the decaying tails of two exponentials – we would expect the area of the product function to decrease under these conditions. In Figures 18 and 19 we see the reflected function shifted +3 and +4 units along the x-axis, respectively. The areas under the green lines (product functions) in these figures are 0.047 and 0.018, respectively.
Figure 18. Graphs of e-x θ(x) (blue line), e2(x-3) θ(3-x) (red line), and their product (green line).
Figure 19. Graphs of e-x θ(x) (blue line), e2(x-4) θ(4-x) (red line), and their product (green line).
h(x) = ƒ(x)*g(x) =
∫
∞
_∞
ƒ(u)g(x-u)du
Here, the asterisk (*) denotes this operation. We will see that Equation 4 contains all the elements of convolution we have discussed. First, however, we note that ‘u’ is a dummy variable in the integral, i.e., we could have used any symbol in Equation 4 in the place of ‘u’. To see this, consider the two simple, definite integrals in Equation 5. Convince yourself that these two integrals give the same answer and that the dummy variables in them, u and ϕ, do not affect the final answer in any way. (5)
1
1
∫ u du = ∫ ϕ dϕ = 12_ 0
0
Figure 20. Graph of θ(½ - x) θ(x + ½).
Figure 21. Graphs of θ(½ - x) θ(x + ½) (green line), e–2x 2 (red line),
and their convolution (blue line).
Vacuum Technology & Coating • June 2014 www.vactechmag.com or www.vtcmag.com
7
The next thing we notice about Equation 4 is that one function, g, has been reflected, while the other, f, has not been. To see this, first note (again) that the variable we are integrating over is u and not x, so if we have ‘-u’ in the function g(x – u) the function has been reversed. Along these lines, and this point is really worth understanding, x is a variable on the left side of the equation, i.e., in h(x), while it acts as a constant on the right side of the equation in the integration. So we see in Equation 4 all of the elements of convolution we previously considered. It involves two functions. One function is reflected about the y-axis. The functions are multiplied and their product is integrated. All possible shifts, x, between the functions are considered, and a new function, h(x), is generated. An Example of Convolution in Spectroscopy Let’s consider a final, practical example from spectroscopy that illustrates convolution. I think it will help cement the concepts we’ve been learning. Let’s start by imagining we have a beam of light that has a Gaussian intensity profile: e–2x2. We want to characterize this beam, and accordingly we decide to move it across a slit. We will ignore any effects of diffraction and imagine that we have a perfect detector that detects all the light that passes through the slit. As we move the beam across the slit we record the intensity of the light at each point along the way. We’ll represent our slit (and the detector behind it) with a ‘slit’ function: S(x) that is defined as: (6) S(x)=
{
Figure 22. Graphs of θ(2 - x) θ(x + 2) (green line), e–2x2 (red line), and their convolution (blue line).
functions is given by the blue line. This latter function can only be described as a substantially distorted Gaussian function that is a poor representation of the original function. Make sure you understand why the convolution shown in Figure 22 has a flat top. Finally, Figure 23 shows the convolution (blue line) of our Gaussian function with a narrow slit function (Equation 6 with a = 0.1). Two things are apparent here. First, we would expect the convolution (blue line) to be very similar to the Gaussian function – if we were to multiply the convolution by a constant so that it would have the same height as the e–2x2 function, we would expect to see very little broadening of the original function. Second, we notice that the intensity of the convolution (blue line) has de-
1 |x| ≤ a 0 |x| > a
where a is assumed to be a positive constant. This function is centered around the origin. It has a value of 1 at |x| ≤ a, and is zero elsewhere. It is shown in Figure 20 for a = ½. You might want to convince yourself here that the ‘slit’ function can be made by multiplying two unit step functions together, i.e., that Equation 7 (below) is the same as Equation 6 for a = ½. (7)
S(x) = θ(½ - x) θ(x + ½)
In addition to showing the same ‘slit’ function (green line) that is in Figure 20, Figure 21 shows the function e–2x2 (red line). Recall that this second function represents our beam of light. Based on what we have discussed here, you should be able to see that moving the beam of light across the slit and recording its intensity during this process is the same as a convolution between the ‘slit’ function and e–2x2 Figure 21 shows the convolution of these two functions (blue line). Notice that the convolution of the two functions (blue line in Figure 21) is a little broader than the e–2x2 function. This observation is quite general – convolution broadens functions. However, it does appear that the ‘slit’ function in Figure 21 is narrow enough to map out the Gaussian function in a reasonable way – it is not grossly distorted. (With all this talk of a ‘green line’, ‘blue line’, and ‘red line’ in this article I feel like I’m writing about a subway system.) But what happens now if we use a very wide slit to characterize our beam of light? In Figure 22 we see representations of a broad slit, Equation 6 for a = 2 (green line), and our light beam: the e–2x2 function (red line). The convolution of these two
8
[email protected]
Figure 23. Graphs of θ(0.1 – x) θ(x + 0.1) (green line), e–2x2 (red line), and their convolution (blue line).
Figure 24. Graph of the Ramp(x) function defined in Equation 8.
June 2014 • Vacuum Technology & Coating
creased compared to where it was in Figures 21 and 22. Clearly, the narrow ‘slit’ is letting in less ‘light’. Here we see a tradeoff between a narrow slit width, with which we can accurately map out our function (again, we’re ignoring any effects of diffraction here), and the intensity of the signal. A Few Problems Now, if you’d like, try the following problems to test your understanding of the concepts introduced here. Problem 1. What’s the convolution of the unit step function (Equation 2) with itself? Answer: the Ramp(x) function, which has y = 0 for x < 0 and y = x for x ≥ 0. (8) Ramp(x) =
{
x ƒor x ≥ 0 0 ƒor x < 0
The Ramp(x) function is graphed in Figure 24. x
Problem 2. Graph the following function: ƒ(x)=∫ –∞ θ (u) du. What do you get? Answer: The Ramp(x) function graphed in Figure 24. Problem 3. Consider the product of the functions y = x and θ (x). How is this product function related to Ramp(x)? Answer: They’re the same thing. Problem 4. If you take the derivative of the Ramp(x) function, what do you get? Answer: A unit step function.
Department of Chemistry and Biochemistry at Brigham Young University for reading this article before it went to print and for his insightful comments. References 1. Gupta, V.; Ganegoda, H.; Engelhard, M. H.; Terry, J.; Linford, M. R., Assigning Oxidation States to Organic Compounds via Predictions from X-ray Photoelectron Spectroscopy: A Discussion of Approaches and Recommended Improvements. J. Chem. Ed. 2014, 91(2), 232–238. 2. Powell, C. J., J. Surface Analysis 2014, 20, 155. 3. Linford, M. R., An Introduction to Time-of-Flight Secondary Ion Mass Spectrometry (ToF-SIMS). Vacuum Technology & Coating, April, 2014. 4. Yang, L.; Vail, M. A.; Dadson, A.; Lee, M. L.; Asplund, M. C.; Linford, M. R., Functionalization of Deuterium- and Hydrogen-Terminated Diamond Particles with Mono- and Multilayers using Ditert-Amyl Peroxide and Their Use in Solid Phase Extraction. Chem. Mater. 2009, 21, 4359 - 4365. 5. Sherwood, P. M. A., Curve fitting in surface analysis and the effect of background inclusion in the fitting process. J. Vac. Sci. Technol. A 1996, 14 (3), 1424 - 1432. 6. Linford, M. R., Introduction to Surface and Material Analysis and to Various Analytical Techniques. Vacuum Technology & Coating, February, 2014. 7. Bracewell, R. N., The Fourier Transform and its Applications. McGraw-Hill: 2000.
Some Concluding Comments So let’s end where we began, with the Voigt profile. It is arguably the right function to use when peak fitting XPS narrow scans, but it is the convolution of a Gaussian and a Lorentzian function. Accordingly, one has to go through the grind of Equation 4 to get it – I’m not aware of a simple, closed form for it. And of course, if one were optimizing the ratio of the contributions of the Gaussian and Lorentzian line shapes to the Voigt profile, one would need to employ Equation 4 multiple times. It is no wonder that people have often chosen computationally simpler approximations to it in their XPS peak fitting. Now, with a little luck, you should understand what all of this means, and you should also see better some of the many practical applications of convolution in science and engineering, and for us in this series of articles to surface and materials analysis. Acknowledgement and Contact Information All of the calculations and corresponding figures in this column were made with Wolfram Mathematica 9.0. I thank and acknowledge the organizations and individuals that have allowed me to use their content in this article. However, I would be happy to consider information from any reputable source – if any readers or representatives of companies wish to contact me, I can be reached at
[email protected]. I can also be contacted through Research Gate under my full name: Matthew R. Linford. Finally, I thank my colleague Paul Farnsworth in the
Vacuum Technology & Coating • June 2014 www.vactechmag.com or www.vtcmag.com
9