如何从1d阵列

时间:2017-12-24 15:51:19

标签: python arrays numpy

我们正试图从1d阵列中找到峰值和谷值。

我们使用numpy.r_()并且它从阵列中找到每个峰和谷,但我们只想要与膈肌运动的松弛和收缩点相对应的峰和谷。

是否有任何功能拒绝错误的最小和最大点?

请参阅下面的错误示例:

enter image description here

1 个答案:

答案 0 :(得分:2)

您有高频,小振幅振荡,这对于峰值发现而言是不合需要的。在搜索峰值之前将其过滤掉。一个简单的过滤器是来自scipy.ndimage的1-dimensional Gaussian。在图表的比例上,似乎

smooth_signal = ndimage.gaussian_filter1d(signal, 5)

应该是正确的(窗口尺寸应该足够大以抑制不必要的振荡,但小到足以不扭曲实际的峰值)。然后将您的峰值查找算法应用于smooth_signal

signal processing module有更复杂的过滤器,但这需要一些时间来学习使用。