ECG-心电图-WFDB工具集的研究与理解

转自:http://blog.sina.com.cn/s/blog_615e7b3f0102v9q1.html


一、创建一个PhysioBank-Compatible Record


1.wfdbdesc ecg01 可以测试一个文件是否为PhysioToolkit软件支持

2.wrsamp -F 128 -G 102.4 -i ecg01.txt -o ecg01 0

读取一个ecg01.txt,创建一个record,一个信号文件ecg01.hea和一个ecg01.dat

-f-g制定在128hz的信号采样,在这样的采样方式下,1mv的振幅将会被放大成102.4个单位

(原文:that the signal was amplified in such a way that a step of 1 millivolt would appear as sample values that differ by 102.4 units.)最后一个参数表示column 0包含数据(数据被填充到第0列)


二、创建一个Beat Annotation文件


前提:拥有一个.dat和一个.hea文件。了解ECG中的RR间隔,精确位置(QRS发生时间),

PhysioBank,这些信息被编码在一个beat annotation 文件中Annotation 文件命名以record名字和annotator名字组合形式(例如qrs,ecg,ann,atr其他名字也可以,但是不常用)

如果你的record没有beat annotation文件,可以用工具集创建:

1.使用sqrs,一个快速简单的QRS检测工具

2.使用wqrs,一个更快的QRS检测工具

3.使用gqrsQRS检测工具,对承认ECG进行了优化,可以配置成婴儿,儿童和非人类ECG

4.使用ecgpuwaveQRS检测工具,可以检测P-T-波的边界

需要测试这些检测工具,因为在数据量不够的时候是会出错的。

tip1:可以使用WAVE工具,能够交互的看到signalsannotations,就能做QRS错误检查,包括一些错过的beats,错误的检测和misplaced annotations(错位的Annotations

tips2:使用pschart或者psfd,用PostScript输出,进行打印或者用GhostScript工具进行查看

如果QRS数据检测错误,可能是annotation types错误,完整的列表引用:http://physionet.org/physiobank/annotations.shtml

(这可以使用WAVE手动修改)

还可以使用OSAS工具

ps:原文有提供一个范例ecg01.qrs:地址:http://physionet.org/tutorials/hrv/ecg01.qrs


三、Inter-BeatRR)间隔


指连续心跳是从QRS开始到QRS截止(QQ间隔,一般叫做RR间隔)。一般使用峰值的地方作为基准点。

上述三个QRS检测工具会自行定义基准点,方法都不相同,综合下来就会准确。

通常,你只对窦跳动感兴趣,这些成为NN间隔。


、从一个注释文件中提取RR间隔


通常之是研究心率的变异,经典的标量HRV参数(SDNNpNN50RMSSD),可以跳过这一步进行下一步 从注释文件中提取瞬时心率。

1.ann2rr从注释文件读入并生产一个RR间隔的列表。

ann2rr-r ecg01 -a qrs

2.可以重定向到文本中

ann2rr-r ecg01 -a qrs >ecg01.rr1.txt

如果想在每个间隔结束的地方看到类型,使用-w选项

ann2rr-r ecg01 -a qrs -w >ecg01.rr2.txt

默认的间隔就是RR间隔,就是采样间隔,如果源的采样间隔是128样本/s,那么输出的就是128,由于精度问题,会有误差,使用-i s看到毫秒级别。

ann2rr-r ecg01 -a qrs -i s >ecg01.rr3.txt

如果想学习NN间隔,使用命令

ann2rr-r ecg01 -a qrs -p N >ecg01.rr4.txt

tips:

使用-c选项来对齐时间坐标。

ann2rr -r ecg01 -a qrs -p N -c >ecg01.rr5.txt

ps:ann2rr的所有解释http://physionet.org/physiotools/wag/ann2rr-1.htm


五、可视化RR间隔


plt使用方法见

http://physionet.org/tutorials/hrv/

pss:有2bash脚本,统计RR间隔和直方图


六、不连续的NN间隔


可以使用nguss来重建丢失的窦间隔


七、从一个注释文件中提取瞬时心率


临床实践中心率测量bpm几乎都是使用推算,例如测量一个6s的间隔,乘以10.

最简单有效的方式是计算每分钟内每次间隔的倒数,使用命令

ihr -r ecg01 -a qrs

i.e., the time series of instantaneous(瞬间的) heart rates

(可以理解为把区间转为瞬时心率)

ihr -r ecg01 -a qrs >ecg01.ihr.txt


hrplot -r mitdb/100 -a atr(图形)


 



八、心率变异性



注:本文仅是理解官方文档的笔记,不作为经验。如有翻译错误,谢谢指出

官方地址:http://physionet.org/tutorials/hrv/#annotating




你可能感兴趣的:(matlab,心电图,WFDB,心电图,QRS,matlab)