Caution

You're reading the documentation for a development version. For the latest released version, please have a look at 0.10.1.

# librosa.util.localmax

librosa.util.localmax(x, *, axis=0)[source]

Find local maxima in an array

An element `x[i]` is considered a local maximum if the following conditions are met:

• `x[i] > x[i-1]`

• `x[i] >= x[i+1]`

Note that the first condition is strict, and that the first element `x` will never be considered as a local maximum.

Parameters:
xnp.ndarray [shape=(d1,d2,…)]

input vector or array

axisint

axis along which to compute local maximality

Returns:
mnp.ndarray [shape=x.shape, dtype=bool]

indicator array of local maximality along `axis`

Examples

```>>> x = np.array([1, 0, 1, 2, -1, 0, -2, 1])
>>> librosa.util.localmax(x)
array([False, False, False,  True, False,  True, False,  True], dtype=bool)
```
```>>> # Two-dimensional example
>>> x = np.array([[1,0,1], [2, -1, 0], [2, 1, 3]])
>>> librosa.util.localmax(x, axis=0)
array([[False, False, False],
[ True, False, False],
[False,  True,  True]], dtype=bool)
>>> librosa.util.localmax(x, axis=1)
array([[False, False,  True],
[False, False,  True],
[False, False,  True]], dtype=bool)
```