基于pyqtgraph的MNE-Python 2D-数据浏览器的全新后端
项目描述
mne-qt-browser
基于pyqtgraph的MNE-Python 2D-数据浏览器的全新后端。
此存储库托管了使用MNE-Python进行2D数据处理的不同后端代码。
后端基于pyqtgraph,它使用Qt的图形视图框架进行绘图。开发始于2021年的Google Summer of Code项目。
安装
按照此处提供的说明安装完整的MNE-Python 1.0或更高版本,或者使用以下方法安装最小化版本的MNE-Python:
pip
pip install "mne>=1.0" matplotlib mne-qt-browser
或
conda
conda install -c conda-forge mne-base matplotlib mne-qt-browser
更新
有关更新MNE-Python的说明,请参阅MNE-Python文档。要更新此包,请执行以下操作:
pip install -U mne-qt-browser
要更新此包到开发版本,请执行以下操作:
pip install -U --no-deps https://github.com/mne-tools/mne-qt-browser/archive/refs/heads/main.zip
用法
后端支持以下MNE-Python方法的绘图:
mne.io.Raw.plot()
mne.Epochs.plot()
mne.preprocessing.ICA.plot_sources(raw)
使用 mne.preprocessing.ICA.plot_sources(epochs)
以下示例中,我们将从 MNE 的 sample
数据集中读取 M/EEG 原始数据,并使用 qt
后端进行绘图。(对于 mne 版本 >= 1.0,qt
后端将是默认设置)
from pathlib import Path
import mne
sample_dir = mne.datasets.sample.data_path()
raw_path = Path(sample_dir) / 'MEG' / 'sample' / 'sample_audvis_raw.fif'
raw = mne.io.read_raw(raw_path)
mne.viz.set_browser_backend('qt') # Enable mne-qt-browser backend if mne < 1.0
raw.plot(block=True)
如果图表没有显示,请在下面的故障排除部分查找解决方案。
这将使用 mne-qt-browser
来处理当前 Python 会话。如果您想永久更改此设置,以便在每次重启 Python 后无需使用 set_browser_backend()
,请运行以下行以修改您的 MNE 配置文件
import mne
mne.set_config('MNE_BROWSER_BACKEND', 'qt')
故障排除
从脚本运行
如果您正在运行包含 raw.plot()
的脚本,例如
python example_script.py
脚本完成后,图表将不会保持打开状态。
要解决这个问题,要么将 raw.plot()
改为 raw.plot(block=True)
,要么使用交互标志运行脚本
python -i example_script.py
IPython
如果 IPython 没有激活 Qt 事件循环的集成,使用 raw.plot()
绘制的图表将冻结。为了避免这种情况,要么将 raw.plot()
改为 raw.plot(block=True)
,要么通过以下方式激活事件循环的集成
%gui qt5
报告错误 & 功能请求
请在该存储库的 问题 中报告错误和功能请求。
开发和测试
您可以使用以下命令在本地运行基准测试
pytest -m benchmark mne_qt_browser
要运行 PyQtGraph 测试,您必须运行
pytest mne_qt_browser/tests/test_pg_specific.py
此外,克隆 mne-python,然后运行
pytest -m pgtest ../mne-python/mne/viz/tests
如果您尚未安装 OpenGL,这将当前引发错误,您需要在 mne/conftest.py
中的 error::
行之后添加此行
ignore:.*PyOpenGL was not found.*:RuntimeWarning
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源代码分发
构建分发
mne_qt_browser-0.6.3.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 22bac360d9adb0143c5b768dca04138eaf19b571d8e6bf24684fc9b56f730278 |
|
MD5 | 07c16ce17b0b476b52f2ee779e2cf653 |
|
BLAKE2b-256 | c3e8b88c4893c8cc05d4b95770cac93a6ebe406eb812b46d1b44079422c63962 |