Skip to main content

读取/写入 EDF+/BDF+ 文件的库

项目描述

<nav class="contents" id="contents" role="doc-toc">

内容

</nav> 测试覆盖率 文档构建 PyPI 版本 康达版 康达下载

什么是 pyEDFlib

pyEDFlib 是一个基于 EDFlib 读/写 EDF+/BDF+ 文件的 python 库。

EDF 意为欧洲数据格式,最早发表于Kemp1992。2003 年,名为 EDF+ 的文件协议的改进版本已经发布,可以在Kemp2003中找到。

EDF/EDF+ 格式以 16 位保存所有数据。BioSemi公司推出了一个以 24 位保存所有数据的版本。

EDF/EDF+/BDF/BDF+ 格式的定义可以在edfplus.info下找到。

这个 Python 工具箱是Christopher Lee-Messer工具箱的一个分支, 使用了Teunis van Beelen 的EDFlib。EDFlib 能够读取和写入 EDF/EDF+/BDF/BDF+ 文件。

文档

文档可在http://pyedflib.readthedocs.org在线获得。

安装

pyEDFlib 可以与Python >=3.5 一起使用。这取决于Numpy包。要使用来自 git 的最新源代码,您必须下载源代码。您需要一个 C 编译器和最新版本的Cython。然后转到源目录并键入:

python setup.py build
python setup.py install

可以通过以下方式安装二进制轮子(如果可用,请使用 pip3):

pip install pyEDFlib

Anaconda Python 发行版的用户可以直接从 conda-forge 渠道获取预构建的 Windows、Intel Linux 或 macOS/OSX 二进制文件。这可以通过以下方式完成:

conda install -c conda-forge pyedflib

最新的开发版本可以在 GitHub 上的 https://github.com/holgern/pyedflib上找到。

最新版本,包括适用于 Linux、macOS 和 Windows 的源代码和二进制包,可从Python 包索引下载。您可以在Releases Page找到源版本。

高级接口

pyEDFlib 包含一个高级接口,用于轻松访问读取和写入 edf 文件。此外,还可以在那里找到匿名、删除或重命名频道的功能。

from pyedflib import highlevel

# write an edf file
signals = np.random.rand(5, 256*300)*200 # 5 minutes of random signal
channel_names = ['ch1', 'ch2', 'ch3', 'ch4', 'ch5']
signal_headers = highlevel.make_signal_headers(channel_names, sample_frequency=256)
header = highlevel.make_header(patientname='patient_x', gender='Female')
highlevel.write_edf('edf_file.edf', signals, signal_headers, header)

# read an edf file
signals, signal_headers, header = highlevel.read_edf('edf_file.edf', ch_names=['ch1', 'ch2'])
print(signal_headers[0]['sample_frequency']) # prints 256

# drop a channel from the file or anonymize edf
highlevel.drop_channels('edf_file.edf', to_drop=['ch2', 'ch4'])
highlevel.anonymize_edf('edf_file.edf', new_file='anonymized.edf'
                             to_remove=['patientname', 'birthdate'],
                             new_values=['anonymized', ''])
# check if the two files have the same content
highlevel.compare_edf('edf_file.edf', 'anonymized.edf')
# change polarity of certain channels
highlevel.change_polarity('file.edf', channels=[1,3])
# rename channels within a file
highlevel.rename_channels('file.edf', mapping={'C3-M1':'C3'})

执照

pyEDFlib 是在 BSD 2 条款许可下发布的免费开源软件。

可以通过 Zenodo 引用版本。

https://zenodo.org/badge/DOI/10.5281/zenodo.5678481.svg

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pyEDFlib-0.1.30.tar.gz (1.7 MB 查看哈希

已上传 source

内置发行版

pyEDFlib-0.1.30-cp310-cp310-win_amd64.whl (1.8 MB 查看哈希

已上传 cp310

pyEDFlib-0.1.30-cp310-cp310-win32.whl (1.8 MB 查看哈希

已上传 cp310

pyEDFlib-0.1.30-cp310-cp310-musllinux_1_1_x86_64.whl (2.4 MB 查看哈希

已上传 cp310

pyEDFlib-0.1.30-cp310-cp310-musllinux_1_1_i686.whl (2.4 MB 查看哈希

已上传 cp310

pyEDFlib-0.1.30-cp310-cp310-macosx_10_9_x86_64.whl (1.8 MB 查看哈希

已上传 cp310

pyEDFlib-0.1.30-cp39-cp39-win_amd64.whl (1.8 MB 查看哈希

已上传 cp39

pyEDFlib-0.1.30-cp39-cp39-win32.whl (1.8 MB 查看哈希

已上传 cp39

pyEDFlib-0.1.30-cp39-cp39-musllinux_1_1_x86_64.whl (2.4 MB 查看哈希

已上传 cp39

pyEDFlib-0.1.30-cp39-cp39-musllinux_1_1_i686.whl (2.4 MB 查看哈希

已上传 cp39

pyEDFlib-0.1.30-cp39-cp39-macosx_10_9_x86_64.whl (1.8 MB 查看哈希

已上传 cp39

pyEDFlib-0.1.30-cp38-cp38-win_amd64.whl (1.8 MB 查看哈希

已上传 cp38

pyEDFlib-0.1.30-cp38-cp38-win32.whl (1.8 MB 查看哈希

已上传 cp38