
Batch Automatically find peaks

Ander
I'm probably being really stupid here, but I have over 1200 curves oscillating over a few cycles that are all collected on the same timebase. I want to identify all of the peaks in the data as a batch - both X (time of peak) and Y (amplitude of peak).
I've been able to get nice peak recognition using the Automatically Detect Peaks package, but this only allows me to identify peaks in one curve at a time. Ideally, I want to automate this and output the X and Y coordinates to separate tables with each column representing each individual curve. Does anyone have any ideas how to automate this?
Many Thanks,
Ander
It is handy that Igor is completely programmable, so you can automate the procedure yourself, possibly with some help here.
To get that help, you'd need to upload an example of your data, the code you've already got (if you have any), and a clear description of what you want.
That "clear description" is the hard part; it is easy to believe that what one writes is necessarily exactly what the reader perceives.
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
February 22, 2017 at 07:28 pm - Permalink
* Write the code you need to load a data file.
* Write the code that does the work required to get the answers from that one data file.
* Put the two pieces of code in to a function with a loop over all the files that you want to process.
Is this the direction of the hints that you are after?
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
February 22, 2017 at 07:34 pm - Permalink
February 23, 2017 at 08:12 am - Permalink
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
February 23, 2017 at 12:44 pm - Permalink
I once wrote a wrapper function for WM's PeakFind. Probably not the nicest solution but take a look at PeakFind() in https://github.com/ukos-git/igor-common-utilities/blob/master/app/utili…
You could use this in a for loop over all of your waves. Just an example for fitting one wave:
Automatically Find Peaks is using the second derivative for peakfind. You should do a fit in addition after the "initial values" were found using peakfind. If you consider a PeakFit take a look at https://github.com/ukos-git/igor-common-utilities/blob/master/app/utili…. I implemented the Gauss Fit from the MultiPeak Fit package.
February 25, 2017 at 08:14 am - Permalink