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

Reply via email to