跳转到主要内容

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

项目描述

Test Coverage Docs Build PyPI Version Conda Version Conda Downloads

什么是pyEDFlib

pyEDFlib是一个基于EDFlib的Python库,用于读取/写入EDF+/BDF+文件。

EDF表示欧洲数据格式,最初由Kemp1992发布。2003年,发布了改进的文件协议版本EDF+,可以在Kemp2003找到。

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

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

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

文档

文档可在https://pyedflib.readthedocs.io在线查看。

安装

pyEDFlib可与Python >=3.7兼容。它依赖于Numpy包。要使用git上的最新源代码,您需要下载源代码。您需要一个C编译器和最新的Cython版本。然后进入源代码目录并输入

python setup.py build
python setup.py install

存在可安装的二进制轮

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包索引下载。您可以在发布页面找到源代码发布。

高级接口

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-clause许可证发布。

可以通过Zenodo引用发布。

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

项目详情


下载文件

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

源代码发行版

pyedflib-0.1.38.tar.gz (2.1 MB 查看散列值)

上传时间 源代码

构建发行版

pyEDFlib-0.1.38-cp312-cp312-win_amd64.whl (2.2 MB 查看散列值)

上传时间 CPython 3.12 Windows x86-64

pyEDFlib-0.1.38-cp312-cp312-win32.whl (2.2 MB 查看散列值)

上传于 CPython 3.12 Windows x86

pyEDFlib-0.1.38-cp312-cp312-musllinux_1_2_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

pyEDFlib-0.1.38-cp312-cp312-macosx_11_0_arm64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

pyEDFlib-0.1.38-cp312-cp312-macosx_10_9_x86_64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.12 macOS 10.9+ x86-64

pyEDFlib-0.1.38-cp311-cp311-win_amd64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

pyEDFlib-0.1.38-cp311-cp311-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 3.11 Windows x86

pyEDFlib-0.1.38-cp311-cp311-musllinux_1_2_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp311-cp311-musllinux_1_2_i686.whl (2.7 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ i686

pyEDFlib-0.1.38-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

pyEDFlib-0.1.38-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pyEDFlib-0.1.38-cp311-cp311-macosx_11_0_arm64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

pyEDFlib-0.1.38-cp311-cp311-macosx_10_9_x86_64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

pyEDFlib-0.1.38-cp310-cp310-win_amd64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pyEDFlib-0.1.38-cp310-cp310-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 3.10 Windows x86

pyEDFlib-0.1.38-cp310-cp310-musllinux_1_2_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp310-cp310-musllinux_1_2_i686.whl (2.6 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ i686

pyEDFlib-0.1.38-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

pyEDFlib-0.1.38-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB 查看哈希)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pyEDFlib-0.1.38-cp310-cp310-macosx_11_0_arm64.whl (2.2 MB 查看哈希)

上传于 CPython 3.10 macOS 11.0+ ARM64

pyEDFlib-0.1.38-cp310-cp310-macosx_10_9_x86_64.whl (2.2 MB 查看哈希)

上传于 CPython 3.10 macOS 10.9+ x86-64

pyEDFlib-0.1.38-cp39-cp39-win_amd64.whl (2.2 MB 查看哈希)

上传于 CPython 3.9 Windows x86-64

pyEDFlib-0.1.38-cp39-cp39-win32.whl (2.2 MB 查看哈希)

上传于 CPython 3.9 Windows x86

pyEDFlib-0.1.38-cp39-cp39-musllinux_1_2_x86_64.whl (2.7 MB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp39-cp39-musllinux_1_2_i686.whl (2.6 MB 查看哈希)

上传于 CPython 3.9 musllinux: musl 1.2+ i686

pyEDFlib-0.1.38-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

pyEDFlib-0.1.38-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pyEDFlib-0.1.38-cp39-cp39-macosx_11_0_arm64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

pyEDFlib-0.1.38-cp39-cp39-macosx_10_9_x86_64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

pyEDFlib-0.1.38-cp38-cp38-win_amd64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

pyEDFlib-0.1.38-cp38-cp38-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 3.8 Windows x86

pyEDFlib-0.1.38-cp38-cp38-musllinux_1_2_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp38-cp38-musllinux_1_2_i686.whl (2.7 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ i686

pyEDFlib-0.1.38-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

pyEDFlib-0.1.38-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.7 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pyEDFlib-0.1.38-cp38-cp38-macosx_11_0_arm64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

pyEDFlib-0.1.38-cp38-cp38-macosx_10_9_x86_64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

pyEDFlib-0.1.38-cp37-cp37m-win_amd64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.7m Windows x86-64

pyEDFlib-0.1.38-cp37-cp37m-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 3.7m Windows x86

pyEDFlib-0.1.38-cp37-cp37m-musllinux_1_2_x86_64.whl (2.6 MB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp37-cp37m-musllinux_1_2_i686.whl (2.6 MB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.2+ i686

pyEDFlib-0.1.38-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ ARM64

pyEDFlib-0.1.38-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pyEDFlib-0.1.38-cp37-cp37m-macosx_10_9_x86_64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.7m macOS 10.9+ x86-64

pyEDFlib-0.1.38-cp36-cp36m-win_amd64.whl (2.2 MB 查看哈希值)

上传于 CPython 3.6m Windows x86-64

pyEDFlib-0.1.38-cp36-cp36m-win32.whl (2.2 MB 查看哈希值)

上传时间: CPython 3.6m Windows x86

pyEDFlib-0.1.38-cp36-cp36m-musllinux_1_2_x86_64.whl (2.6 MB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.2+ x86-64

pyEDFlib-0.1.38-cp36-cp36m-musllinux_1_2_i686.whl (2.6 MB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.2+ i686

pyEDFlib-0.1.38-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB 查看哈希值)

上传时间: CPython 3.6m manylinux: glibc 2.17+ x86-64

pyEDFlib-0.1.38-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.6 MB 查看哈希值)

上传时间: CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pyEDFlib-0.1.38-cp36-cp36m-macosx_10_9_x86_64.whl (2.2 MB 查看哈希值)

上传时间: CPython 3.6m macOS 10.9+ x86-64

支持者