Find peaks in a spectrum

Share:

Description

This function finds all peaks (local maxima) in a spectrum, using a user selectable size threshold relative to the tallest peak (global maximum). This a wrapper built on top of function peaks from package splus2R.

Usage

1
find_peaks(x, ignore_threshold = 0, span = 3, strict = TRUE)

Arguments

x

numeric array

ignore_threshold

numeric value between 0.0 and 1.0 indicating the size threshold below which peaks will be ignored.

span

a peak is defined as an element in a sequence which is greater than all other elements within a window of width span centered at that element. The default value is 3, meaning that a peak is bigger than both of its neighbors. Default: 3.

strict

ogical flag: if TRUE, an element must be strictly greater than all other values in its window to be considered a peak. Default: TRUE.

Value

an object like s.irrad of logical values. Values that are TRUE correspond to local peaks in the data.

Note

This function is a wrapper built on function peaks from splus2R and handles non-finite (including NA) values differently than peaks, instead of giving an error they are replaced with the smallest finite value in x.

See Also

peaks

Other peaks and valleys functions: get_peaks, peaks, valleys

Examples

1
with(sun.data, w.length[find_peaks(s.e.irrad)])

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.