我想删除基线并最终使用 python 找到一些噪声数据的峰值(如果有人以前有过拉曼散射测量的经验)。
按照 PeakUtils 库 ( https://pythonhosted.org/PeakUtils/tutorial_a.html ) 上的指南,作者将数据拟合到一个带有 polyval 的多项式,然后在此基础上找到一个基线并减去它。
我的问题是 a) 为什么要费心为数据拟合多项式,为什么不直接从数据中删除基线?b) 参数 [0.002,-0.08,5] 传递给 polyval 有什么意义?我需要为自己的数据微调这些吗?有人可以解释这对我有用吗?
y2 = y + numpy.polyval([0.002,-0.08,5], x)
pyplot.figure(figsize=(10,6))
pyplot.plot(x, y2)
pyplot.title("Data with baseline")
base = peakutils.baseline(y2, 2)
pyplot.figure(figsize=(10,6))
pyplot.plot(x, y2-base)
pyplot.title("Data with baseline removed")
我的数据与此处(下图)的形状相同,但显然已经删除了背景。