Batch Curve Fitting
Dear all
First of all, I am new to this package so the questions might be trivial, however I want to ask anyway.
Let's assume that I have N waves that have 10 gaussian peaks that I want to fit. Some of these peaks will overlap.
I know that the spacing between all peak A and A+1 is the same in all waves.
I know that the width of all peaks are the same in all waves.
So basically I want to find:
- The common Gaussian width
- The position of all 10 peaks using the data in my N waves. The fact that I have N waves simplifies this since the fit will be more robust.
Can I "ask" Batch Curve Fitting to fit these parameters, but to fit them using all N specrtra.
A long time ago there was a package written by Dr. Edwin Kukk (SPANCF for those who remember it) that did exactly this (and more), this package was written for XPS data... However this stopped working after about Igor 6 and Edwin is no longer updating this package since many years...
Edit:
In a simple picture, following the demo provided by WaveMetrics - this would be similar to forcing the y0-parameter in a line-fit to be the same for all fits. In the demo this does not make sense since the data does not look like that, but it is easy to think of an example where y0 is constant for 20 datasets and the main reason to fit all datasets at once is to get the best determination of y0. Hope this makes sense...
End edit.
Best,
Johan
Take a look at the Global Analysis package: Analysis > Packages > Global fit. It is supposed to do exactly what you describe.
February 21, 2023 at 04:23 am - Permalink
As Tony wrote, use the Global Fit package. You would need to create a function which returns 10 Gaussians in the way you want, but this is not difficult. If you don't actually need to fit the peaks across all your data sets simultaneously (e.g., to find the global width), but are fine with fitting each set individually, then the Multipeak Fit package is an alternative, which is more comfortable for fitting individual data. I can help you with both.
February 21, 2023 at 05:29 am - Permalink
see also this older discussion about global fitting
February 21, 2023 at 09:48 am - Permalink
Thanks! I will take a look at Global Fit and see if I can use that - likely I can...
Best,
Johan S
February 21, 2023 at 10:58 pm - Permalink
Dear all
Thanks a million - this is 90% of what I need... It would be nice to be able to link parameters with offsets (A=B+constant or A=B*constant) but I can most likely solve that in my fitting function...
Great to find this - never saw it until now! Thanks for all pointers...
Johan
February 23, 2023 at 01:34 am - Permalink
You can write a different fittng function with those constants in them. Then choose a fitting function for each data set individually.
February 23, 2023 at 09:30 am - Permalink