seg1d.algorithm.get_peaks¶
- 
seg1d.algorithm.get_peaks(x, minC=0.7, dst=None)[source]¶ Peak Detection
Find the peaks of a data array with a minimum value of a peak and an optional distance parameter.
Relies on
scipy.signal.find_peaksParameters: - xDict[int,List[float]]
 {scale: [correlations] }
Returns: - n x 3 array
 sorted by highest to lowest correlation of form
[ scale, correlation , peak index ]
Other Parameters: - minCfloat, optional
 -1 to 1
- dstreal, optional
 int or float
See also
combine_corr- (input for this function)
 uniques- (takes the return of this function)
 
Examples
>>> import numpy as np >>> import seg1d.algorithm as alg
>>> # convenience function for generating wave >>> def s(f1, f2, f3): return np.sin( np.linspace(f1, f2, f3) )
Define some scales that have correlations
>>> x = { 10: s(-np.pi*1, np.pi*1, 10), 20: s(-np.pi*2, np.pi*2, 10) }
Query the peaks in the data
>>> np.around(alg.get_peaks(x), decimals=7) array([[10. , 0.9848078, 7. ], [20. , 0.9848078, 1. ], [20. , 0.8660254, 6. ]])
Define a minimum for the peak
>>> np.around(alg.get_peaks(x,minC = 0.9), decimals=7) array([[10. , 0.9848078, 7. ], [20. , 0.9848078, 1. ]])