Extracting set of data around local maxima/minima

1 view (last 30 days)
Hello all,
as the title says I would like to extract sets of data around local maxima/minima. Depending on the results I'll get I might need more than two.
To explain a bit further I have two column vectors (A, B) corresponding to the x and y axis of the picture attached. So I would like to locate the minimum and extract the area of +/- 30 points around it in other column vectors (say A1, B1), and the continue for the remaining data for the next minimum and so on (A2, B2) and (A3, B3)....
I hope I was clear.
Thank you in advance!

Answers (2)

Image Analyst
Image Analyst on 2 May 2015
Try using imregionalmin() or imregionalmax(). Then expand outwards with imdilate(). Then use the PixelValues option of regionprops to extract the values from the gray level image for each blob. Basically
binaryImage = imregionalmax(grayImage);
binaryImage = imdilate(binaryImage, true(30));
labeledImage = bwlabel(binaryImage);
measurements = regiopnprops(labeledImage, 'PixelValues');
or something pretty close to that. Good luck.

Konstantinos Belivanis
Konstantinos Belivanis on 6 May 2015
Thanks a lot for the answer. This will not get the next local minimum/maximum. As a result how can I ensure I can get multiple minima?
Regards

Community Treasure Hunt

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

Start Hunting!