使用wfdb的ECG信号QRS检测

时间:2020-09-23 14:35:45

标签: python-3.x signal-processing

我正在使用wfdb 3.1.1在ECG信号中进行QRS检测。我的代码是这样的-

record,fields=wfdb.io.rdsamp(r'D:\Research\Biomedical Image Proc\\ECG-Apnea records\a01',sampfrom=200,sampto=700) 
wfdb.plot_items(signal=record,title='ECG Apnea data for patient 1',return_fig=True)   
xqrs=processing.xqrs_detect(sig=record[:,0],fs=fields['fs'])     
print(xqrs) 

但是,在将检测到的峰值绘制在ECG信号上之后,我注意到检测到一些T峰值而不是R峰值。这是wfdb QRS检测类的公认问题吗?我需要这个的原因是因为在此之后我需要对节拍进行切片。没有合适的峰,结果将不会有希望。

1 个答案:

答案 0 :(得分:0)

请注意,检测ECG数据中的QRS并非易事,并且仍进行了大量研究以提高检测算法的准确性。问题是:

  • 与良好的检测相比,您获得了多少QRS检测失败(或大约错误检测的百分比),并且该值与常规QRS检测算法相比如何?

  • 您尝试使用不同的参数执行检测吗?如果没有,我建议您访问online documentation,在这里您可以找到许多与大小写有关的微调设置(在 struct MealPlanView: View { @ObservedObject var currentMealplan: SocialMealplan = SocialMealplan(owner: YKUser.none, mealplan: Mealplan.none) var body: some View { /* ... */ ForEach(self.currentMealplan.mealplan.meals, id: \.self) { (meal) in VStack { NavigationLink(destination: SelectRecipeView(completion: self.updatedMealplan, date: meal.date)) { MealplanRow(meal: .constant(meal)) } } }.onAppear { self.refreshMealplan() } /* ... */ } func refreshMealplan() { // Get the mealplan from the server self.currentMealplan.mealplan = newMealplan } } 配置的Conf类中),例如QRS宽度,最大值和最小值等