如果我有这样的东西:
这是ECG考试的图形表示。
但是它们可能超级不同,就像这样:
因此,为了找到每个峰,如R,T等,我创建了可以找到它们的间隔。但是随着每次考试的改变,我的问题是我如何制作一个可以与任何未损坏的心电图配合使用的算法。
这就是我得到的:
qInterval = averageOfRInterval * 250 / 926 # Multiplied numbers are default for each interval and 926 is the
sInterval = averageOfRInterval * 250 / 926 # correspondent to 100% of the Interval.
tInterval = averageOfRInterval * 300 / 926
pInterval = averageOfRInterval * 400 / 926
它适用于某些图形,但不是全部。
是另一种方式吗?还是我的算法正确,只是需要一些调整?
答案 0 :(得分:0)
如果只想检测峰,可以使用python的peakutils
模块。这是文档-https://media.readthedocs.org/pdf/peakutils/latest/peakutils.pdf
像peakutils.peak.indexes(y, thres=0.3, min_dist=1, thres_abs=False)
会为您提供峰幅值大于阈值0.3的峰的索引,并且它们之间的最小距离为1。
您也可以使用plotly
来可视化峰。以下是一些示例-https://plot.ly/python/peak-finding/