跳转到主要内容

pybv -- BrainVision数据格式的轻量级I/O工具。

项目描述

GitHub Actions Python build GitHub Actions Python tests Codecov PyPi version Conda version Documentation Status Zenodo archive

pybv

pybv 是BrainVision数据格式的轻量级I/O工具。

BrainVision数据格式是推荐用于脑影像数据结构的数据格式。

文档可以在以下链接中找到:

关于BrainVision数据格式

BrainVision是一个用于存储电生理数据的文件格式的名称。最初,它由Brain Products公司提出,然而格式的简单性使得多种工具可以读取和写入此格式。

该格式由三个独立的文件组成

  1. 一个包含元数据的文本头部文件(.vhdr)

  2. 一个包含数据中事件信息的文本标记文件(.vmrk)

  3. 一个包含EEG电压值的二进制数据文件(.eeg)

这两个文本文件基于Microsoft Windows INI格式,由以下组成:

  • [方括号]标记的节

  • ; comment标记的注释

  • key=value标记的键值对

二进制.eeg数据文件按照Brain Products的规范,以小端格式写入,不包含字节顺序标记(BOM),确保数据文件无论在什么原生系统架构下都是统一写入的。

BrainVision文件格式的文档由Brain Products提供。您可以在Brain Products的网站上查看规范

安装

pybv运行在Python 3.7或更高版本。

pybv的唯一依赖是numpy。然而,我们目前建议您安装MNE-Python以读取BrainVision数据。请参阅他们的安装说明

在您拥有MNE-Python的可用安装(如果您不想读取数据只写入,则只安装numpy)之后,您可以通过以下方式安装pybv:

  • pip install --upgrade pybv

或者如果您使用conda

  • conda install --channel conda-forge pybv

贡献

pybv的开发正在GitHub上进行。

更多信息,请参阅CONTRIBUTING.md

用法

写入BrainVision文件

pybv提供的主要功能是通过write_brainvision函数将数据数组和提供的元数据写入磁盘上的BrainVision文件集合。

from pybv import write_brainvision

# for further parameters see our API documentation
write_brainvision(data=data, sfreq=sfreq, ch_names=ch_names,
                  fname_base=fname, folder_out=tmpdir,
                  events=events)

读取BrainVision文件

目前,pybv建议使用MNE-Python来读取BrainVision文件。

以下是读取BrainVision数据的MNE-Python代码示例

import mne

# Import the BrainVision data into an MNE Raw object
raw = mne.io.read_raw_brainvision('tmp/test.vhdr', preload=True)

# Reconstruct the original events from our Raw object
events, event_ids = mne.events_from_annotations(raw)

替代方案

BrainVision数据格式非常流行,因此有许多软件包可以读取此格式,或者写入它。以下表格旨在提供一个类似于pybv的软件包的快速概述。如果您知道应该在这里列出其他软件包,请告诉我们。

软件名称

语言

备注

BioSig Project

杂项

读取和写入能力取决于使用的绑定,请参阅他们的概述

Brainstorm

MATLAB

读取和写入,在它们的 io 函数 中搜索 brainamp

BrainVision Analyzer

n/a,Windows 的 GUI

读取和写入,由 Brain Products 提供,需要商业许可证

brainvisionloader.jl

Julia

读取

EEGLAB

MATLAB / Octave

通过 BVA-IO 读取和写入

FieldTrip

MATLAB

读取和写入,在它们的 fileio 函数 中搜索 brainvision

MNE-Python

Python

读取(通过 pybv 写入)

致谢

此软件包最初由 Philistine 软件包palday 改编。它复制了 BrainVision 导出代码的大部分内容,但去除了对 MNE 的依赖。增加了几个功能,例如支持每个通道的独立单元。

项目详情


下载文件

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

源代码分发

pybv-0.7.5.tar.gz (264.2 kB 查看哈希值)

上传时间 源代码

构建分发

pybv-0.7.5-py2.py3-none-any.whl (24.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面