Code covered by the BSD License

### Highlights from Find peaks using scale-space approach

Be the first to rate this file! 20 Downloads (last 30 days) File Size: 3.16 KB File ID: #42927

# Find peaks using scale-space approach

02 Aug 2013 (Updated )

Find peaks in data using a scale-space approach. It is efficient and requires very few parameters.

File Information
Description

-------------------------------------------------------------
Scale-space peak picking
------------------------
This function looks for peaks in the data using scale-space theory.

input :
* V : data, a vector
* select : either:
- select >1 : the number of peaks to detect
- 0<select<1 : the threshold to apply for finding peaks
the closer to 1, the less peaks, the closer to 0, the more peaks
* display : whether or not to display a figure for the results. 0 by
default
* ... and that's all ! that's the cool thing about the algorithm =)

outputs :
* peaks : indices of the peaks
* criterion : the value of the computed criterion. Same
length as V and giving for each point a high value if
this point is likely to be a peak

The algorithm goes as follows:
1°) set a smoothing horizon, initially 1;
2°) smooth the data using this horizon
3°) find local extrema of this smoothed data
4°) for each of these local extrema, link it to a local extremum found in
the last iteration. (initially just keep them all) and increment the
corresponding criterion using current scale. The
rationale is that a trajectory surviving such smoothing is an important
peak
5°) Iterate to step 2°) using a larger horizon.

At the end, we keep the points with the largest criterion as peaks.
I don't know if that kind of algorithm has already been published
somewhere, I coded it myself and it works pretty nice, so.. enjoy !
If you find it useful, please mention it in your studies =)

running time should be decent, although intrinsically higher than
findpeaks. For vectors of length up to, say, 10 000, it should be nice.
Above, it may be worth it though.
---------------------------------------------------------------------
(c) Antoine Liutkus, 2013
---------------------------------------------------------------------

MATLAB release MATLAB 7.9 (R2009b)
Tags for This File   Please login to tag files.