On Thu, Mar 18, 2010 at 5:19 PM, Davide Cittaro <davide.citt...@ifom-ieo-campus.it> wrote: > Hi all, > Is there a fast numpy way to find the peak boundaries in a (looong, millions > of points) smoothed signal? I've found some approaches, like this: > > z = data[1:-1] > l = data[:-2] > r = data[2:] > f = np.greater(z, l) > f *= np.greater(z, r) > boundaries = np.nonzero(f) > > but it is too sensitive... it detects any small variations in slope on the > shoulders of a bigger peak... > Any hint?
to find peaks something like the following works np.nonzero(data == maximumfilter data, larger window size) where maximum filter is in scipy.signal or ndimage I'm not sure about boundaries, maybe the same with minimum filter Josef > > thanks > > d > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion