Author Topic: Specifying Conductive Coatings for Standard and Unknowns  (Read 11766 times)

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Specifying Conductive Coatings for Standard and Unknowns
« on: May 20, 2014, 03:02:08 PM »
Note that a new coating correction has been implemented in CalcZAF (and Probe for EPMA) and is described here:

http://probesoftware.com/smf/index.php?topic=23.0

For CalcZAF, the standard coating parameters are also specified from the Standard | Edit Standard Parameters (coating) menu as in Probe for EPMA. However the coating parameters for the unknown are specified from the Calculation Options button as seen here:



Also, to turn on the "electron absorption" and x-ray transmission coating corrections in CalcZAF, one must select these two menu items from the CalcZAF Analytical menu as seen here:

John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #1 on: May 06, 2015, 01:46:41 PM »
As some of you already know, I have recently improved the coating correction in CalcZAF (and Probe for EPMA) based on the x-ray absorption of x-rays transmitting through the coating on the way to the detector (which is very straight forward and relatively accurate) and the so called "electron absorption" of incident electrons transmitting through the coating on the way to the sample.

The electron absorption calculation is based on a crude equation from Kerrick, et. al., Amer. Min. 58, 920-925 (1973)

Igen,coated/Igen,uncoated = [100-{(8.3pT)/(E0^2-Ec^2)}]/100 (from JTA)

Written as code we can utilize this:

' Intensity correction from electron energy loss due to coating
ratio! = (100# - ((8.3 * sample(1).CoatingDensity! * sample(1).CoatingThickness! / ANGPERNM&) / (sample(1).KilovoltsArray!(chan%) ^ 2 - (sample(1).LineEdge!(chan%) / EVPERKEV#) ^ 2))) / 100#

This coating correction gives excellent results for most typical coating situations even when the standard and unknown are coated with very different materials. Unfortunately the calculated ratio starts to become inaccurate as the overvoltage falls and finally goes negative with excessively thick coatings (or very low beam energies) as seen in this graph of a Ti metal sample coated with 120 nm of Ag for a range of incident beam energies from 8 to 25 keV:



I would be interested if anyone has a more sophisticated expression for dealing with the "electron absorption" effect in very thick coatings.
« Last Edit: May 07, 2015, 06:04:42 PM by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #2 on: May 07, 2015, 06:08:38 PM »
It's worth pointing out that though crude, this coating correction does a pretty darn good job, considering this particular example uses a silver coating that is 120 nm thick!  For example here is the data at 25 keV with the coating correction turned on:

Un   67 120 nm Ag on Ti (MVA)
TakeOff = 40.0  KiloVolt = 25.0  Beam Current = 30.0  Beam Size =    0
(Magnification (analytical) =  20000),        Beam Mode = Analog  Spot
(Magnification (default) =      400, Magnification (imaging) =    400)
Image Shift (X,Y):                                          .00,   .00
Pre Acquire String :                                        mag 100000
Post Acquire String :                                          mag 400
Number of Data Lines:   5             Number of 'Good' Data Lines:   5
First/Last Date-Time: 06/05/2014 10:20:11 AM to 06/05/2014 10:46:53 AM
WARNING- Quantitation is Disabled For ag la, Spectro 4

Average Total Oxygen:         .000     Average Total Weight%:   97.909
Average Calculated Oxygen:    .000     Average Atomic Number:   22.000
Average Excess Oxygen:        .000     Average Atomic Weight:   47.900
Average ZAF Iteration:        1.00     Average Quant Iterate:     2.00

Using Conductive Coating Correction For Electron Absorption and X-Ray Transmission:
Sample Coating=Ag, Density=10.5 gm/cm3, Thickness=1200 angstroms, Sin(Thickness)=0 angstroms

Un   67 120 nm Ag on Ti (MVA), Results in Elemental Weight Percents
 
ELEM:       Ti      Ag
BGDS:      LIN     LIN
TIME:    80.00     ---
BEAM:    30.12     ---

ELEM:       Ti    Ag-D   SUM 
   417  97.768     ---  97.768
   418  98.612     ---  98.612
   419  97.396     ---  97.396
   420  97.978     ---  97.978
   421  97.790     ---  97.790

AVER:   97.909     ---  97.909
SDEV:     .446     ---    .446
SERR:     .199     ---
%RSD:      .46     ---
STDS:     2522     ---

STKF:   1.0000     ---
STCT:  2730.05     ---

UNKF:    .9791     ---
UNCT:  1842.70     ---
UNBG:     5.72     ---

ZCOR:   1.0000     ---
KRAW:    .6750     ---
PKBG:   323.28     ---


Not too bad, considering the coating thickness. Without any coating correction we'd get this result for the same data:

Un   67 120 nm Ag on Ti (MVA)
TakeOff = 40.0  KiloVolt = 25.0  Beam Current = 30.0  Beam Size =    0
(Magnification (analytical) =  20000),        Beam Mode = Analog  Spot
(Magnification (default) =      400, Magnification (imaging) =    400)
Image Shift (X,Y):                                          .00,   .00
Pre Acquire String :                                        mag 100000
Post Acquire String :                                          mag 400
Number of Data Lines:   5             Number of 'Good' Data Lines:   5
First/Last Date-Time: 06/05/2014 10:20:11 AM to 06/05/2014 10:46:53 AM
WARNING- Quantitation is Disabled For ag la, Spectro 4

Average Total Oxygen:         .000     Average Total Weight%:   67.496
Average Calculated Oxygen:    .000     Average Atomic Number:   22.000
Average Excess Oxygen:        .000     Average Atomic Weight:   47.900
Average ZAF Iteration:        1.00     Average Quant Iterate:     2.00

Un   67 120 nm Ag on Ti (MVA), Results in Elemental Weight Percents
 
ELEM:       Ti      Ag
BGDS:      LIN     LIN
TIME:    80.00     ---
BEAM:    30.12     ---

ELEM:       Ti    Ag-D   SUM 
   417  67.399     ---  67.399
   418  67.981     ---  67.981
   419  67.143     ---  67.143
   420  67.544     ---  67.544
   421  67.415     ---  67.415

AVER:   67.496     ---  67.496
SDEV:     .308     ---    .308
SERR:     .138     ---
%RSD:      .46     ---
STDS:     2522     ---

STKF:   1.0000     ---
STCT:  2730.05     ---

UNKF:    .6750     ---
UNCT:  1842.70     ---
UNBG:     5.72     ---

ZCOR:   1.0000     ---
KRAW:    .6750     ---
PKBG:   323.28     ---


In fact without *any* coating correction the data shown in the above post would look like this:



So yes, for very thick coatings and at low beam energies, the coating correction does over correct, but even in this situation it does a fair job at high beam energies.

« Last Edit: May 08, 2015, 10:02:18 AM by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

gmorgan@ou.edu

  • Guest
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #3 on: February 11, 2016, 10:05:05 AM »
A basic question about the conductive coating issue.

My Probewin.ini file specifies the use of a carbon conductive coating (density and thickness). Fine, that's the default.
If I do not turn on the corrections for carbon coat in the Analysis Options, the totals on unknowns are high (even for standards analyzed as unknowns, but not for standards analyzed as standards), indicating no correction is applied. Fine so far.

If I turn on the corrections for carbon coating in the Analysis options, but NOT in the calculation options, the totals are where they should be indicating that the carbon correction has been applied.

If I then check the box in Calculation Options to use the conductive coating, the totals are then high again like they were when no correction was enabled in Analysis options (as if the coating correction is not applied). So does this mean that the enable button in Calculation Options acts simply as a toggle switch to turn the calculation to the condition opposite that specified in the Probewin.ini file?  AND that the coating correction in the Calculation options should only be used to add additional thickness of carbon or the presence of a different coating medium? I guess in this way if I get a gold-coated sample that I also put a carbon coat on, the calculations will use both coatings????
Or, would I be better off to set no coating as the default in the INI file?

Probeman

  • Emeritus
  • *****
  • Posts: 2856
  • Never sleeps...
    • John Donovan
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #4 on: February 11, 2016, 10:41:16 AM »
A basic question about the conductive coating issue.

My Probewin.ini file specifies the use of a carbon conductive coating (density and thickness). Fine, that's the default.
If I do not turn on the corrections for carbon coat in the Analysis Options, the totals on unknowns are high (even for standards analyzed as unknowns, but not for standards analyzed as standards), indicating no correction is applied. Fine so far.

If I turn on the corrections for carbon coating in the Analysis options, but NOT in the calculation options, the totals are where they should be indicating that the carbon correction has been applied.

If I then check the box in Calculation Options to use the conductive coating, the totals are then high again like they were when no correction was enabled in Analysis options (as if the coating correction is not applied). So does this mean that the enable button in Calculation Options acts simply as a toggle switch to turn the calculation to the condition opposite that specified in the Probewin.ini file?  AND that the coating correction in the Calculation options should only be used to add additional thickness of carbon or the presence of a different coating medium? I guess in this way if I get a gold-coated sample that I also put a carbon coat on, the calculations will use both coatings????
Or, would I be better off to set no coating as the default in the INI file?

The coating parameters for correcting for electron energy loss and x-ray absorption, must be specified for both the standards and unknowns, unless of course they are the same.

The parameters in the INI file are the default that are loaded for a new run, and they can be over ridden in the application if one has samples that are coated differently.

Note that the standard coating parameters can be specified for all standards, or one at a time if each standard has a different coating thickness or composition (ugh!).
john

« Last Edit: April 14, 2020, 12:35:47 PM by John Donovan »
The only stupid question is the one not asked!

Gian Colombo

  • Post Doc
  • ***
  • Posts: 11
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #5 on: December 14, 2016, 01:16:05 PM »
Is there a way to make sample and standard conductive coating selections hold for a batch calculation when using the "Open Input Data File and Calculate/Export All" option?

I have an input data file consisting of the k-raw values for four elements collected from 120 points.  Two out of the four standards are uncoated and the other two are carbon coated.  The sample is uncoated.  I'm trying to correct the high analytical totals that are coming from using the two coated standards with an uncoated sample.

Running the batch option does not seem to maintain the changes I make to the default sample and standard coating parameters.  Currently, I have to open the input data file, change the sample and standard coatings from the default settings under "Calculation Options" and "Edit Standard Parameters", press "Calculate" to obtain the concentrations, press "Load Next Dataset From Input File", and modify the sample and standard coatings again before pressing "Calculate".

The correction is working beautifully, but it will be a bit tedious to have to go through those steps 120 times.  I also have three other input data files of similar size, so I wanted to check if there was a better option than brute forcing my way through correcting each data point individually.

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #6 on: December 14, 2016, 05:35:12 PM »
Is there a way to make sample and standard conductive coating selections hold for a batch calculation when using the "Open Input Data File and Calculate/Export All" option?

I have an input data file consisting of the k-raw values for four elements collected from 120 points.  Two out of the four standards are uncoated and the other two are carbon coated.  The sample is uncoated.  I'm trying to correct the high analytical totals that are coming from using the two coated standards with an uncoated sample.

Running the batch option does not seem to maintain the changes I make to the default sample and standard coating parameters.  Currently, I have to open the input data file, change the sample and standard coatings from the default settings under "Calculation Options" and "Edit Standard Parameters", press "Calculate" to obtain the concentrations, press "Load Next Dataset From Input File", and modify the sample and standard coatings again before pressing "Calculate".

The correction is working beautifully, but it will be a bit tedious to have to go through those steps 120 times.  I also have three other input data files of similar size, so I wanted to check if there was a better option than brute forcing my way through correcting each data point individually.

Hi Gian,
I can fix this but I am at AGU this week so I will do it as soon as I get back to Oregon!  Sorry for the trouble...
john
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #7 on: December 17, 2016, 12:54:08 PM »
Is there a way to make sample and standard conductive coating selections hold for a batch calculation when using the "Open Input Data File and Calculate/Export All" option?

I have an input data file consisting of the k-raw values for four elements collected from 120 points.  Two out of the four standards are uncoated and the other two are carbon coated.  The sample is uncoated.  I'm trying to correct the high analytical totals that are coming from using the two coated standards with an uncoated sample.

Running the batch option does not seem to maintain the changes I make to the default sample and standard coating parameters.  Currently, I have to open the input data file, change the sample and standard coatings from the default settings under "Calculation Options" and "Edit Standard Parameters", press "Calculate" to obtain the concentrations, press "Load Next Dataset From Input File", and modify the sample and standard coatings again before pressing "Calculate".

The correction is working beautifully, but it will be a bit tedious to have to go through those steps 120 times.  I also have three other input data files of similar size, so I wanted to check if there was a better option than brute forcing my way through correcting each data point individually.

Hi Gian,
I can fix this but I am at AGU this week so I will do it as soon as I get back to Oregon!  Sorry for the trouble...
john

Hi Gian,
Back from AGU, but our house has been without power/internet since Wed, so I made the trek into the university to respond.

It seems to me that the coating parameters are saved for the standards, but not for the unknowns.  This is now fixed I think.

Please update CalcZAF to v. 11.7.4 and I think this will be taken care of, but do let me know.
john
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

Gian Colombo

  • Post Doc
  • ***
  • Posts: 11
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #8 on: December 20, 2016, 07:20:20 PM »
Hi John,

Thank you so much for the quick response.  I had a chance to do the software update and try out my batch calculation again tonight.  It looks like the specimen coating selection (no coating in my case) is holding, but I think my standard coating selections are reverting to the default 200nm thick carbon coating.

When I run the data sets individually with two of my four standards uncoated, the log window correctly shows 1.00000 values for the COATTRNS and COATABSR parameters on the standards I have indicated are uncoated and some value less than 1 for the standards that are coated.

When I run the batch calculation, the log window shows all of the standards with COATTRNS and COATABSR values less than 1.  The weight percent totals are also slightly lower in the batch calculation than in the data sets calculated individually which would make sense if all the standards have a coating applied. 

As a check, I ran an individual calculation with all four standards intentionally set to the default 200nm thick carbon coating.  The COATTRNS and COATABSR values, and the final weight percent value match the results of the first data point in my batch calculation.

Let me know if you think I'm missing something in setting up the batch calculation. 

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #9 on: December 21, 2016, 11:40:57 AM »
When I run the data sets individually with two of my four standards uncoated, the log window correctly shows 1.00000 values for the COATTRNS and COATABSR parameters on the standards I have indicated are uncoated and some value less than 1 for the standards that are coated.

Hi Gian,
Ok, I see. You want to have some standards coated and some standards not coated.

This is easy in Probe for EPMA because each sample (standard or unknown) has their specific coating parameters automatically saved (and loaded) from the MDB file. So you would be fine if you were using my Probe for EPMA software.

Unfortunately, CalcZAF only has these coating parameters saved to global variables.  And since when a new sample is loaded, and because the program can't assume the parameters (e.g., standards) in the current sample are related to the previous sample, it reloads the standard coating parameters using the last saved defaults. CalcZAF also assumes that all standards are coated the same way when these defaults are re-loaded for the next sample (because each sample can be entirely different from the previous sample!).

I could modify the CalcZAF code to store the coating parameters for each standard, but that will take a few hours of work...  let me think a bit more and maybe I can come up with an elegant solution.  Sorry.
john

Edit by John: so I'm still thinking of how one might deal with your situation of different standards with different coatings in CalcZAF (as I mentioned above, this would not be an issue in Probe for EPMA), but I did think of a "workaround" for you in CalcZAF.

That is, simply calculate your input file twice in CalcZAF, once with all standards declared as coated, and again with all standards declared as uncoated, and output each calculation to Excel with a slightly different file name, e.g., xxx-coated.xlsx, and xxx-uncoated.xlsx.

Then open both Excel files and cut and paste the element columns appropriately depending on which standards (coated or uncoated) are assigned to each element.  The inter-element effects will be negligible I suspect and you should be good to go.
« Last Edit: December 21, 2016, 04:25:57 PM by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

Gian Colombo

  • Post Doc
  • ***
  • Posts: 11
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #10 on: January 04, 2017, 06:02:49 AM »
Hi John,

Sorry for the gap in communication over the holidays.  I had a chance to run the input files twice as you suggested, and then cross-checked the results with a few data points I calculated using my previous manual editing method.  The respective results for the "all standards coated" and "no standards coated" batch calculations are very close to the results produced by my manual method of manipulating the standard coatings on each individual data set in the input file.  The difference in the weight percent results is very small (out to the third decimal point) which I'm more than happy with.

Thank you so much for your help!

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #11 on: January 04, 2017, 08:48:43 AM »
Hi John,

Sorry for the gap in communication over the holidays.  I had a chance to run the input files twice as you suggested, and then cross-checked the results with a few data points I calculated using my previous manual editing method.  The respective results for the "all standards coated" and "no standards coated" batch calculations are very close to the results produced by my manual method of manipulating the standard coatings on each individual data set in the input file.  The difference in the weight percent results is very small (out to the third decimal point) which I'm more than happy with.

Thank you so much for your help!

Hi Gian,
No worries.  Glad the suggestion worked.

Again, in Probe for EPMA one can edit each standard separately and the coating parameters are permanently saved for each sample (standard or unknown), so this is a non-issue.
john
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

Philipp Poeml

  • Professor
  • ****
  • Posts: 222
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #12 on: March 15, 2017, 03:35:58 AM »
I have the same problem as Gian. My standards do not have all the same coating parameters. So I would vote to do the proper solution you suggested in reply #9. :-)

I can also try the workaround. But it seems the result is not the same in the end. Because of the different matrix correction I guess.

So if this could be optimized, I would be grateful!

Cheers
Ph

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 3304
  • Other duties as assigned...
    • Probe Software
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #13 on: March 15, 2017, 08:41:10 AM »
I have the same problem as Gian. My standards do not have all the same coating parameters. So I would vote to do the proper solution you suggested in reply #9. :-)

I can also try the workaround. But it seems the result is not the same in the end. Because of the different matrix correction I guess.

So if this could be optimized, I would be grateful!

Hi Philipp,
I think you misunderstand Gian's problem.  What he is discussing above is only an issue when importing data into CalcZAF, and the problem is not with the standards, it was that his unknowns in the same CalcZAF input file needed to have different coatings specified.   In CalcZAF each standard can have different coating parameters, but all unknowns in a single CalcZAF input file have to share the same coating parameters.  The next CalcZAF input file can of course have different unknown coating parameters specified by the user.

He doesn't have Probe for EPMA...  but you do.   In Probe for EPMA, each standard can have different coating parameters *and* each unknown can also have different coating parameters assigned, so it is not a problem. 
john
« Last Edit: March 15, 2017, 08:50:28 AM by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

Philipp Poeml

  • Professor
  • ****
  • Posts: 222
Re: Specifying Conductive Coatings for Standard and Unknowns
« Reply #14 on: March 15, 2017, 11:33:27 AM »
Hi John,

Then I think there might be a bug. How can I explain this?
So, I have an input file with two unknowns. I open that input file. Calczaf loads the first unknown. I set for the standards different coating thicknesses. I calculate. Then I press the load next dataset button. Now all my different thicknesses for the standards are lost.
Can you confirm this?

Cheers
Philipp