心电数据集MIT-BIH处理

使用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()

在这里插入图片描述

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值