News:

:) We depend on your feedback and ideas!

Main Menu

Wish List for PFE Features

Started by jeb, October 07, 2013, 11:35:16 AM

Previous topic - Next topic

John Donovan

#660
We have thought a bit more about how one might implement a time dependent intensity (TDI) correction for elements acquired/analyzed with EDS. But there's a complication...

Before we explain, first let's review how the TDI correction is utilized to correct intensities in beam sensitive samples for WDS elements. To acquire WDS TDI intensities we take the total on-peak acquisition time and divide it into a specified number of intervals defined by the user, typically 5 or more intervals, so say 5 intervals of 4 seconds each for a total of 20 seconds of acquisition time.

The software then acquires these five 4 sec TDI interval intensities on all WDS elements that are the *first* element to be acquired on that WDS spectrometer. And here is the critical point: at the completion of the WDS TDI acquisition, the five interval intensities are stored in a separate "TDI" table, but then these interval intensities are summed together to obtain a time integrated intensity of the full acquisition time, which is then stored in the normal on-peak intensity table.

The reason for this is because we utilize these interval intensities for the purposes of obtaining a log intensity slope parameter for the TDI correction, which is then applied to the summed time integrated intensity, to obtain the actual intensity at zero time. Which is what makes the TDI correction useful for beam sensitive samples.

Similarly, in the case of EDS TDI, we would acquire interval spectra and store them in a separate TDI table, however there's a problem with summing these spectra together to obtain a time integrated spectrum and it's only a problem with the JEOL EDS interface.

With the Thermo and Bruker EDS interfaces, we acquire an EDS spectrum and store it along with the meta data (eV/channel, time constant, etc.). Then when we want to obtain an EDS net intensity, we send that spectrum  (and the meta data) back to the Thermo or Bruker software through the EDS API interface, where it then returns the net intensities for Probe for EPMA to quantify.

Unfortunately with the JEOL EDS interface (both the original JEOL EDS interface on the 8230/8530 and the new EDS interface on the iSP100/iHP200F), there is a problem. For some reason JEOL insisted that we not send them the spectrum and meta data (which we also acquired and stored just as with the Thermo and Bruker EDS spectra), but instead we need to send them the EDS filename (8230/8530) or GUID (iSP100/iHP200F) instead.

The problem comes at the end of the EDS TDI acquisition when we need to sum the interval spectra into a time integrated spectrum.  Sure, we can sum the interval spectra in Probe for EPMA, but there is no way to send that summed spectra back to the JEOL EDS interface to obtain the net intensities, because there is no filename or GUID associated with that summed spectrum...

This is a limitation of the JEOL EDS interface. This is also the reason that in order to obtain net intensities for JEOL EDS spectra, Probe for EPMA must be on a computer that is connected to the JEOL computer, since that is where these EDS spectra are stored.

However, thanks to the Only Use EDS Stored Intensities From Probe Database checkbox in the Analysis Options dialog, one can first extract all the EDS net intensities when connected to the JEOL computer (which are then automatically stored in ones MDB file). Then one can take the PFE MDB file to any other off-line computer, check the Only Use EDS Stored Intensities From Probe Database checkbox, and then perform quantitative analyses as usual:

https://smf.probesoftware.com/index.php?topic=40.msg11401#msg11401

See the discussion at the end of the above linked post.

This is not an issue with the Thermo and Bruker EDS interfaces because one can install the Thermo or Bruker software on an off-line computer (in demo mode) and then send the spectra through the EDS interface:

https://smf.probesoftware.com/index.php?topic=1300.0

Note: I think Bruker may have disabled this off-line re-processing API feature in their latest v. 2.6 of Esprit, but we are checking into this...

In the beginning we tried to make JEOL aware of this limitation (of their EDS interface not accepting the raw spectrum and meta data for obtaining net intensities), but they insisted we do it this way, and of course at the time we hadn't been considering EDS TDI acquisition!

So, bottom line: we can obtain net intensities from summed EDS spectra with the Thermo and Bruker interface, but not with the JEOL interface. So that limitation makes the requested EDS TDI feature much less interesting to implement, especially considering the amount of work it will require.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

Jon Fellowes recently requested a novel idea for a feature. Here is how he put it:

QuoteI was looking at writing software to trigger the SXES for point analysis for every new acquisition. I could probably do this via a complicated chain of listening for the Faraday status via the Remote interface and checking the MDB for a new entry, but a "new measurement started" function would probably be a lot neater!

So we gave it a bit of a think (as they say), and we came up with this new option in the Acquisition Options dialog:



The contents of the StartAcquire.bat batch file is very simple as can be seen here:

REM  Batch file to execute user modified batch file for external applications
REM  Usage: StartAcquire %1 %2 %3 %4 %5
REM  E.g, StartAcquire Un 44 118 "grain 2132" 54
REM  Change command prompt (Properties | Advanced) to Run as Administrator if necessaey
REM  Where %1 = sample type (St, Un or Wa)
REM  Where %2 = sample number (integer)
REM  Where %3 = sample line (integer)
REM  Where %4 = sample name (string in quotes)
REM  Where %5 = acquisition time (in seconds)
REM
timeout %5

It basically just passes a few parameters and it's up to the user to implement whatever synchronous process(es) that they desire to call during the acquisition.

Right now, the batch file just pauses for the estimated elapsed time for the specified acquisition. This batch file will not be overwritten by subsequent updates of Probe for EPMA so feel free to modify as you see fit.

Here it is running during a point acquisition:

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

"Not Absolutely Certain, Yet Reliable"

sckuehn

#662
Quote from: John Donovan on January 05, 2025, 10:16:46 AMWe have thought a bit more about how one might implement a time dependent intensity (TDI) correction for elements acquired/analyzed with EDS. But there's a complication...
.
.
.
With the Thermo and Bruker EDS interfaces, we acquire an EDS spectrum and store it along with the meta data (eV/channel, time constant, etc.). Then when we want to obtain an EDS net intensity, we send that spectrum  (and the meta data) back to the Thermo or Bruker software through the EDS API interface, where it then returns the net intensities for Probe for EPMA to quantify.

Unfortunately with the JEOL EDS interface (both the original JEOL EDS interface on the 8230/8530 and the new EDS interface on the iSP100/iHP200F), there is a problem. For some reason JEOL insisted that we not send them the spectrum and meta data (which we also acquired and stored just as with the Thermo and Bruker EDS spectra), but instead we need to send them the EDS filename (8230/8530) or GUID (iSP100/iHP200F) instead.

The problem comes at the end of the EDS TDI acquisition when we need to sum the interval spectra into a time integrated spectrum.  Sure, we can sum the interval spectra in Probe for EPMA, but there is no way to send that summed spectra back to the JEOL EDS interface to obtain the net intensities, because there is no filename or GUID associated with that summed spectrum...


If I recall correctly, there was once a suggestion to utilize DTSA to process EDS spectra for PFE.

Could this problem be solved that way?  If so, what might be the pros and cons?

Or, could there be a shared network path to the EDS spectra folder on the JEOL computer which would let PFE write out the needed file?

- Steve

John Donovan

Quote from: sckuehn on January 09, 2025, 01:50:53 PMIf I recall correctly, there was once a suggestion to utilize DTSA to process EDS spectra for PFE.

Could this problem be solved that way?  If so, what might be the pros and cons?

Or, could there be a shared network path to the EDS spectra folder on the JEOL computer which would let PFE write out the needed file?

- Steve

Yea, that was a long time ago and I think I remember discussing that with Nicholas, but apparently there's no easy way to call Java code from Visual Basic.

You best bet is to acquire beam sensitive elements using WDS TDI and use EDS for the more stable element intensities.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

JonF


Quote from: John Donovan on January 09, 2025, 01:21:09 PMJon Fellowes recently requested a novel idea for a feature. Here is how he put it:

QuoteI was looking at writing software to trigger the SXES for point analysis for every new acquisition. I could probably do this via a complicated chain of listening for the Faraday status via the Remote interface and checking the MDB for a new entry, but a "new measurement started" function would probably be a lot neater!



Thanks John, this works like a charm!

If anyone else is writing programs to use this, if you want to start your software/script at the start of the analysis then I recommend removing or commenting out (add REM to the start of the line) the timeout %5 line or add your command before this line, otherwise your code will execute after the estimated analysis time.

You can pass the variables (e.g. the sample type, sample number etc) as arguments to your executable, and catch them in your software.
For example, you have a C# executable called RunAtStart.exe, you can replace the contents of the StartAcquire.bat file with:

"C:\Path\To\Your\Executable\RunAtStart.exe" %1 %2 %3 %4 %5

and you can catch those arguments in e.g. C# on .net/.net framework with

string[] args = System.Environment.GetCommandLineArgs();

or I believe the equivalent StartAcquire.bat file for python would be:

python C:\Path\To\Your\Python\Script\RunAtStart.py %1 %2 %3 %4 %5

and you catch the arguments with:

import sys
print('Sample name: ',sys.argv[5])

John Donovan

That looks great.

I should mention that one might want to utilize some of these parameters to decide whether they really want to execute this additional acquisition process. For example, one may decide to skip the execution if the sample is a standard.

Hopefully this will be useful to the community.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

dawncruth

Can we add Bragg orders to the export options. For example, export data for net intensities are given as Si ka (1,TAP) NECNT. Can we get something like Si ka1 (1, TAP), for the first order ka and Si ka3 for third order ka, etc.?

Thanks!

John Donovan

Do you mean in the User Specified output?

I think it would make more sense to stay with Roman numerals to avoid confusion with the Siegbahn notation.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

Quote from: dawncruth on January 17, 2025, 03:59:51 PMCan we add Bragg orders to the export options. For example, export data for net intensities are given as Si ka (1,TAP) NECNT. Can we get something like Si ka1 (1, TAP), for the first order ka and Si ka3 for third order ka, etc.?

Thanks!

We added the Bragg order number in parentheses if the Bragg order number is greater than one for the on, off and net counts output from the User Specified output format in Probe for EPMA like this: "(II)" for 2nd order Bragg numbers.

Here is what it looks like after importing into Excel where Na was first order and Mg was 2nd order:



Available from the Output menu for all samples, or from the right-click menu in Analyze! for selected samples.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

dawncruth

This works for me!


Quote from: John Donovan on January 27, 2025, 01:44:19 PM
Quote from: dawncruth on January 17, 2025, 03:59:51 PMCan we add Bragg orders to the export options. For example, export data for net intensities are given as Si ka (1,TAP) NECNT. Can we get something like Si ka1 (1, TAP), for the first order ka and Si ka3 for third order ka, etc.?

Thanks!

We added the Bragg order number in parentheses if the Bragg order number is greater than one for the on, off and net counts output from the User Specified output format in Probe for EPMA like this: "(II)" for 2nd order Bragg numbers.

Here is what it looks like after importing into Excel where Na was first order and Mg was 2nd order:



Available from the Output menu for all samples, or from the right-click menu in Analyze! for selected samples.

dawncruth

I have three requests

1. Can we get a different color for background in the working window if we are running simultaneously offline and an analytical session? I'm always afraid I'm going to shut down a run when I'm doing offline work at the same time.

2. Can you add a string search box in the Modify Position Database for duplicating standards as unknowns, or unknowns, etc? Searching via string is very handy.

3. In the Automate window - Conditions -- Can you read the conditions from the Analytical Conditions window in Acquire!? I've accidentally changed conditions in automate and not noticed the different accelerating voltages. It would be great if it defaulted to the Analytical Conditions in Acquire!

John Donovan

#671
Quote from: dawncruth on February 19, 2025, 05:14:11 PM1. Can we get a different color for background in the working window if we are running simultaneously offline and an analytical session? I'm always afraid I'm going to shut down a run when I'm doing offline work at the same time.

Did you know that you can install Probe for EPMA on as many computers as you like for data re-processing for free?

:)

That's right! So I suggest you buy another computer for your lab for re-processing data, install Probe for EPMA (and CalcZAF), share the folders on your probe computer and copy over your standard.mdb file and your probe MDB database file(s) (and BIM image file(s) if present), that you want to re-process data from the probe computer, and you'll be all set to go!

You can download Probe for EPMA (and CalcZAF) from our Resources page here:

https://www.probesoftware.com/resources/

Quote from: dawncruth on February 19, 2025, 05:14:11 PM2. Can you add a string search box in the Modify Position Database for duplicating standards as unknowns, or unknowns, etc? Searching via string is very handy.

3. In the Automate window - Conditions -- Can you read the conditions from the Analytical Conditions window in Acquire!? I've accidentally changed conditions in automate and not noticed the different accelerating voltages. It would be great if it defaulted to the Analytical Conditions in Acquire!

We will look into these two suggestions.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

dawncruth

Quote from: John Donovan on February 19, 2025, 05:48:09 PM
Quote from: dawncruth on February 19, 2025, 05:14:11 PM1. Can we get a different color for background in the working window if we are running simultaneously offline and an analytical session? I'm always afraid I'm going to shut down a run when I'm doing offline work at the same time.

Did you know that you can install Probe for EPMA on as many computers as you like for data re-processing for free?

:)



Yes, I know that  :) . But sometimes you need to open another instance of PfE on the working computer. But noted :)

John Donovan

Quote from: dawncruth on February 20, 2025, 11:36:19 AM
Quote from: John Donovan on February 19, 2025, 05:48:09 PM
Quote from: dawncruth on February 19, 2025, 05:14:11 PM1. Can we get a different color for background in the working window if we are running simultaneously offline and an analytical session? I'm always afraid I'm going to shut down a run when I'm doing offline work at the same time.

Did you know that you can install Probe for EPMA on as many computers as you like for data re-processing for free?

:)



Yes, I know that  :) . But sometimes you need to open another instance of PfE on the working computer. But noted :)

To be honest we have been unable to think of a mechanism to make a different background color for different instances of PFE running on the same computer. 

Can you explain why you need to do this?

I also note that in Windows 11 one can open a new desktop as seen here:



I haven't played with this Windows feature, but maybe this will work for you?
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

Quote from: dawncruth on February 19, 2025, 05:14:11 PM2. Can you add a string search box in the Modify Position Database for duplicating standards as unknowns, or unknowns, etc? Searching via string is very handy.

We added a string selection control for the Position database window:



Update Probe for EPMA to v. 14.0.4 using the Help menu as usual.

Quote from: dawncruth on February 19, 2025, 05:14:11 PM3. In the Automate window - Conditions -- Can you read the conditions from the Analytical Conditions window in Acquire!? I've accidentally changed conditions in automate and not noticed the different accelerating voltages. It would be great if it defaulted to the Analytical Conditions in Acquire!

We tested this and when one clicks to add a new position sample, it DOES use the current conditions specified in the Acquire! window.

However, conditions for existing position samples are NOT updated as one would expect.  If you are going to specify conditions for your position samples, select the position samples and click the Conditions button and assign the desired conditions to the selected position samples.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"