Peak search function¶
This module provides a peak search function and tools related to peak analysis.
- peak_search(y, fwhm, sensitivity=3.5, begin_index=None, end_index=None, debug=False, relevance_info=False)¶
Find peaks in a curve.
- Parameters
y (numpy.ndarray) – Data array
fwhm – Estimated full width at half maximum of the typical peaks we are interested in (expressed in number of samples)
sensitivity – Threshold factor used for peak detection. Only peaks with amplitudes higher than
σ * sensitivity
- whereσ
is the standard deviation of the noise - qualify as peaks.begin_index – Index of the first sample of the region of interest in the
y
array. IfNone
, start from the first sample.end_index – Index of the last sample of the region of interest in the
y
array. IfNone
, process until the last sample.debug – If
True
, print debug messages. Default:False
relevance_info – If
True
, add a second dimension with relevance information to the output array. Default:False
- Returns
1D sequence with indices of peaks in the data if
relevance_info
isFalse
. Else, sequence of(peak_index, peak_relevance)
tuples (one tuple per peak).- Raise
IndexError
if the number of peaks is too large to fit in the output array.
- guess_fwhm(y)¶
Return the full-width at half maximum for the largest peak in the data array.
The algorithm removes the background, then finds a global maximum and its corresponding FWHM.
This value can be used as an initial fit parameter, used as input for an iterative fit function.
- Parameters
y – Data to be used for guessing the fwhm.
- Returns
Estimation of full-width at half maximum, based on fwhm of the global maximum.