Find peaks (local extrema) of signals
Precompiling Peaks
✓ SIMD
✓ Peaks
2 dependencies successfully precompiled in 5 seconds. 3 already precompiled.
Peaks.jl is a library for finding peaks (i.e. local maxima and minima) and peak characteristics (e.g. prominence, width, etc) in vector (1D) data signals.
Peak finding has been a foundational analytical step in every analysis during my graduate studies. When I started exclusively using Julia in 2018, there was no package or functionality that met my needs, such as:
- Finding peaks in non-continuous data (i.e. sections of
NaN
ormissing
data) - Finding peaks for windows wider than the two directly adjacent elements
- Finding peak prominence and/or width
Peaks.jl is the product of my efforts to implement similar peak finding capabilities as I depended on in MATLAB. Peaks.jl is extensively tested and has features to:
- Find peak (maxima or minima) locations, height, prominence, and width
- Filter peaks by peak spacing (window size), height, prominence, and width (including “Full Width Half Maximum (FWHM)”)
- Fully supports
NaN
/missing
with optional tolerance using keyword argstrict
:- Conventional handling/propagation of
NaN
/missing
whenstrict = true
(the default) - Reasonable alternatives when
strict = false
- Conventional handling/propagation of
- An alternative, SIMD-accelerated, fast peak finding method (with a reduced feature set compared to the standard method)