Info

This question is closed. Reopen it to edit or answer.

As you can see in the figure it is an amplitude v/s time plot where there are 2 peaks (having large width) in this plot. I need an algorithm/program which will detect the no. of peaks (having large width). Help me and give me some suggestion

1 view (last 30 days)

Answers (1)

Image Analyst
Image Analyst on 30 Mar 2013
Do you have the Image Processing Toolbox? This is easy if you do. First of all I think you need to filter. A morphological dilation (moving local max) would be best bet you can get by with a blur (conv() with a sliding averaging box filter). Then threshold at 0.4. Now you have two wide sections and 1 narrow section. This is where the Image Processing Toolbox would help - you could use bwareaopen() to get rid of narrow sections. You could also use regionprops to calculate the width of every section. You can use find() on the thresholded signal to find indexes above the threshold. Use diff() and then find() if you want to find the start and stop of the sections.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!