如果我有这样的东西:
这是心电图检查的图形表示。
但它们可能是超级不同的,就像这个:
因此,为了找到每个峰值,比如R,T等,我创建了可以找到它们的间隔。但随着每次检查,这些都会发生变化,我的问题是如何制作一个算法来处理任何未损坏的ecg图。
这是我得到的:
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
它将适用于某些图表,但不是所有。
这是另一种方式吗?或者我的算法是正确的,但只需要稍微调整一下?
发布于 2018-06-29 17:09:33
如果只想检测峰值,可以使用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/
https://stackoverflow.com/questions/51097860
复制相似问题