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

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.

| Watch this File

File Information

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
  * ... 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
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.
Please login to add a comment or rating.
05 Aug 2013

Several bugfixes and improvements to handle large datasets.

Contact us