使用wfdb包对MIT-BIH数据集进行处理。

1、读取数据

record方法
使用record方法来读取数据

rdrecord(record_name, sampfrom=0, sampto=None, channels=None,physical=True, pb_dir=None)

参数说明:
record_name: 数据存储的位置
sampfrom: 默认为0
sampto : 数据截取长度;
channels : 选择读取某个通道的数据,默认读取全部通道;
physical : 选择读取数据的类型,True为p_signal,False为d_signal,默认为False;

record = wfdb.rdrecord('data/MIT-BIH/100', sampfrom=0, sampto=25000, channels=[0, ], physical=False)

可调取参数
返回一个record类型的对象,在record对象中一般会调用的参数:
p_signal:模拟信号值(physical = True时可调用)
d_signal:数字信号值(physical = False时可调用)
fs:采样频率

import wfdb
import matplotlib.pyplot as plt# 读取本地的数据
record = wfdb.rdrecord('D:/深度学习/心电图/Data/mit-bih-arrhythmia-database-1.0.0/101', sampfrom=0, sampto=25000, physical=False, channels=[0, ])
# 采样频率
print("record frequency:" + str(record.fs))
# 截取数据
signal = record.d_signal[0:610]
print('signal shape: ', str(signal.shape))
print('data type', type(signal))
# 绘制波形
plt.plot(signal)
plt.title("ECG signal")
plt.show()

运行结果:

二、注释annatation

rdann方法
使用rdann方法来获取某条数据对应注释

rdann(record_name, extension, sampfrom=0, sampto=None)

参数说明:
record_name: 数据存储的位置
extension:标注文件的格式类型
sampfrom: 默认为0
sampto : 数据截取长度;

可调取参数
chan:保存当前标注的通道,是一个ndarray或者是list

sample:记录每个心拍中R峰位置,是一个ndarray或者是list

symbol:记录的是每个完整ECG信号的类型,一个ECG中有多少个R峰就会有多少个类型,对每个完整ECG信号都进行分类,是一个字符型的ndarray或者是list,其对应wfdb.show_ann_labels()中显示的symbol类型

wfdb.show_ann_labels()

import wfdb
import matplotlib.pyplot as plt# 读取本地的100号记录,从0到25000,通道0
record = wfdb.rdrecord('D:/深度学习/心电图/Data/mit-bih-arrhythmia-database-1.0.0/101', sampfrom=0, sampto=25000, physical=False, channels=[0, ])
# 截取数据
signal = record.d_signal[0:610]
# 绘制波形
plt.plot(signal)
plt.title("ECG signal")# 读取annatations
signal_annotation = wfdb.rdann("D:/深度学习/心电图/Data/mit-bih-arrhythmia-database-1.0.0/101", "atr", sampfrom=0, sampto=610)
print('信号通道:',signal_annotation.chan)
print('信号类别:',signal_annotation.symbol)
# 将读取到的annatations的心拍绘制到心电图上
for index in signal_annotation.sample:plt.scatter(index, signal[index][0], marker="*")
plt.show()

心电数据集MIT-BIH处理相关推荐

  1. P. Hamilton / Quantitative Investigation of QRS Detection Rules Using the MIT/BIH Arrhythmia Databa

    Quantitative Investigation of QRS Detection Rules Using the MIT/BIH Arrhythmia Database Hamilton, Pa ...

  2. matlab读取mit bih,将MIT-BIH心律失常ECG数据库加载到MATLAB上

    您可以使用physionet ATM获取更容易使用的.mat文件. 在输入部分选择所需的引线,长度,数据库和样本. 在工具箱中选择导出为.mat: 然后下载'.mat'文件, 为了在MATLAB中打开 ...

  3. python处理心电图_ECG心电信号处理:使用WFDB对MIT-BIH数据集进行读取(Python)

    本文的主要内容是详细介绍MIT-BIH心电数据集的读取,主要使用WFDB-python工具进行操作,能够读取心电信号数据到array中,读取annatations以及使用matplotlib绘制相应的 ...

  4. mit数据库 matlab,[zz]MIT-BIH开放数据库使用指南

    最近因为项目任务要分析心电图数据,采用的是MIT-BIH开放数据库(或称PhysioBank数据库).这个数据库不仅提供了经过筛选的各方面的生理数据集PhysioBank,而且也提供了开源的数据处理和 ...

  5. ECG心电信号处理:初识ECG

    本文主要介绍心电信号的基础知识,包括心电图的典型波形和波段,以及常见的心率不起分类和一些用于心电分类的数据集,能对心电信号及处理有一个最基本的认识. 声明:本博客的内容来源于各大论文和互联网,其正确性 ...

  6. matlab实现 中值滤波去除基线漂移,快速中值滤波在滤除心电信号基线漂移中的应用...

    [摘要]文中给出了一种非线性的滤除心电信号基线漂移的滤波方法,把基于排序统计理论的快速中值滤波方法应用于处理心电信号,通过多次对心电信号中选择的窗口数据进行排序,然后取中值的方法来达到滤波的效果.试验 ...

  7. 基于MATLAB实现ECG心电信号处理

    原文出处基于MATLAB的心电信号预处理_这孩子谁懂哈的博客-CSDN博客_matlab心电信号处理 这是原文的代码,直接复制后无法运行,显示M和TIME没有定义. 需要一个ramat函数把心电数据读 ...

  8. 目前常用的医疗心电图数据集

    心电图数据背景知识 一个心电图信号由多个心电图节拍组成,每个心电图节拍包含P波.QRS复合波和T波.ECG信号的每个峰值(P.Q.R.S.T 和 U).间隔(PR.RR.QRS.ST 和 QT)和段( ...

  9. osea/ introduction

    1.0 Introduction Computer analysis of ECG signals is common today. ECG信号的计算机分析现在已经很常见. Devices on th ...

最新文章

  1. 为什么处理排序数组要比处理未排序数组快?
  2. Uliweb多人博客教程demo站点
  3. 内存管理之slab分配器
  4. cout 和 printf 性能比较
  5. 位置度标注方法图解_追踪主力-散户操盘实战图解:操盘手法分析
  6. 【物联网】NB-IoT和LoRa技术简介
  7. Spring Bean作用域简介
  8. echarts的示例二:饼图(南丁格尔图)
  9. 上海计算机在职专业硕士学校,2020年上海地区专业硕士招生院校大全
  10. android 解析接收数据格式,Android JSON数据格式解析
  11. Android之Scroller详解讲解-真正了解滚动处理
  12. 【9102年】考研还是找工作?分享看完心得体会(如果你错过了月亮,那就不要错过星星了)
  13. Python绘制节点是饼状图的社交网络图(Plot network with pie chart)
  14. Python函数 — 类型提示和存根文件
  15. 计算机科学家证书,软件自动验证的追梦者——吴志林,2020年CCF-IEEE CS青年科学家奖获得者...
  16. 第二十二天:期末考前整理的20条好句子
  17. 北大计算机陈鹏,2021届毕业颁证仪式 | 特邀嘉宾北京大学陈鹏教授主旨演讲
  18. Spark mlib KMeans聚类算法
  19. 为什么服装实体店如此惨淡?
  20. 一维数组——计算平均分

热门文章

  1. IE浏览器插件注册表位置
  2. 风控必备的评分卡模型,TempoAI 10分钟搞定
  3. N33-Week 3-向日葵
  4. 【STM32】(10) 电容触摸按键实验(含代码)、电容触摸按键过程和相关函数介绍
  5. 西门子PID程序西门子PLC 1200和多台G120西门子变频器Modbud RTU通讯,带西门子触摸屏
  6. 502 Bad Gateway 错误的可能原因
  7. 巴旦木树苗种植经历了几个周期?
  8. 集体智慧编程学习之核方法
  9. 安信可官方esp8266固件写入程序
  10. VS2013卸载QT插件