找到峰的宽度

时间:2016-09-30 15:30:07

标签: python numpy scipy

我有一个数据集,我正在尝试检测这些峰的峰值和左/右边界。

我成功使用scipy find_peaks_cwt查找峰值,但我不知道如何识别这些峰的左右边界。

在下图中,峰上的线和圆圈标记是以编程方式绘制的,但是手绘的方形标记是我现在尝试以编程方式进行的。

enter image description here

关于如何做到这一点的任何建议?我考虑过搜索拐点,但由于数据中的噪音,这不起作用。

1 个答案:

答案 0 :(得分:2)

如果高斯拟合是合适的,您可以获取已找到的峰数并拟合n个高斯分布(每个峰1个)加上背景噪声的常数变量(或者您可以在曲线上添加另一个高斯变量)适合

row_number()

这应该为您提供一个开始的地方,但您可能不得不调整优化功能以处理您的数据(或者可能根本工作,我没有测试)