基于EDFlib/C++实现脑电数据EDF标准格式读写

2019-04-13 14:33发布

一、关于EDF(European Data Format)格式的介绍

    欧洲数据格式(EDF)是一种用于交换和存储多通道生物和物理信号的简单而灵活的格式。它是由几位在哥本哈根举行的1987年国际睡眠大会上首次会见的欧洲“医疗”工程师开发的。 EDF标志来源于丹麦作家汉斯·克里斯蒂安·安德森的童话故事“公主和豌豆”中的绿豆。在奥尔堡大学已故教授Annelise Rosenfalck的支持下,工程师们启动了由欧洲共同体通过其“Comitéd'ActionConcertée”资助的“睡眠 - 醒觉连续性分析方法学”项目(1989-1992) “(COMAC委员会)生物医学工程。他们希望将睡眠分析算法应用于其他数据并比较分析结果。因此,1990年3月在莱顿的一个早晨,他们就一个非常简单的文件格式达成一致,以交换他们的睡眠记录。这种格式被称为欧洲数据格式。 1990年8月,所有参与实验室都为该项目提供了EDF睡眠记录。
    EDF于1992年发表于Electroencephalography and Clinical Neurophysiology 82,第391-393页。 从那时起,EDF成为商业设备和多中心研究项目中EEG和PSG记录的事实标准。     EDF的扩展名为EDF +,于2002年开发出来,与EDF基本兼容:所有现有的EDF阅读器也显示EDF +信号。 但EDF +文件也可能包含中断录制,注释,刺激和事件。 因此,EDF +可存储任何医疗记录,如肌电图,诱发电位,心电图,以及自动和手动分析结果,如δ图,QRS参数和睡眠阶段。 规格比EDF更严格,可以自动定位和校准电极。 EDF +修正了EDF中的一些遗漏问题,例如Y2K问题,小端整数和逗号对点。     EDF +于2003年在Clinical Neurophysiology 114,第1755-1761页发表。 从那以后,数百个EDF +文件和几个EDF +查看器在互联网上出现。 应用主要在临床神经生理学,睡眠和心脏病学。 来自其他专业的正式标准也可以整合到EDF +中。 大多数EDF应用程序已迁移到EDF +。 相关链接:支持EDF数据存取的软/硬件设备公司 EDF存储定义:Full specifications of EDF and EDF+  EEG其他常用格式:.eeg/.cnt/  [其它] 心理学MATLAB初学者教程 -- 脑电数据读取

二、EDF开源阅读器推荐

EDF相关的信号显示软件很多,推荐一款开源软件 EDFbrowser A free, opensource, multiplatform, universal viewer and toolbox intended for, but not limited to, timeseries storage files like EEG, EMG, ECG, BioImpedance, et 基于EDFlib/C++实现脑电数据EDF标准格式读写

三、EDF文件读写开源库EDFlib

支持EDF+,支持c++/python/java/labview https://www.teuniz.net/edflib/index.html

四、EDFlib使用步骤

1、预备工作

1.1、将“edflib.h”“edflib.c”两个文件添加到工程 1.2、#include “edflib.h” 1.3、c++工程需要参考([填坑]VS环境下C语言与C++混合编译),解决c++与c混合编译的问题

2、编程示例

参考我的CSDN: 

[原创]基于EDFlib/C++实现脑电数据EDF标准格式读写

https://blog.csdn.net/qq_20515461/article/details/80236654