image thumbnail


version (5.61 KB) by Stephen Anthony
Rapidly find all extrema points of an N-dimensional array


Updated 20 Sep 2016

View License

Search all the maxima and minima points.
findExtrema.m is designed to find the extrema points (minima and maxima) from an N-dimensional array. This implementation runs much faster than by making use of the imdilate function in the Image Processing Toolbox by Mathworks as suggested by Steve Eddins on Stack Overflow.
[minima,maxima] = findExtrema(array);

where minima (maxima) is a logical array of the same size as the input array whose elements are true if the corresponding element of the input array is a local minima (maxima).

Notes within the source code indicate (providing code) how to extend this function to special cases (such as inputs with NaN values, changing the search neighborhood). If only the maxima or minima are needed rather than both, using the included findMaxima.m or findMaxima.m functions will be twice as fast as findExtrema.m.

Cite As

Stephen Anthony (2022). findExtrema (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: extrema.m, extrema2.m

Inspired: findExtrema(array,kernel,strict)

Community Treasure Hunt

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

Start Hunting!