Skip to main content

PyQtGraph-based backend for MNE-Python's raw data browser

Project description

MNE Qt Browser

Screenshot of MNE Qt Browser

MNE Qt Browser is an alternative backend for plotting multichannel time series data (such as EEG or MEG) with MNE-Python. The backend is based on PyQtGraph, which in turn uses Qt under the hood.

Installation

MNE Qt Browser is not a standalone package—it requires MNE-Python to be installed. The easiest way to use it is by installing MNE-Python through the official installers, which include the browser by default.

The browser is also supported by MNELAB, a graphical user interface for MNE-Python. The recommended way to install MNELAB is via the official installers as well. In this case, MNE Qt Browser will be installed automatically—you just need to enable it in the settings by selecting Qt as the plot backend.

If you already have the mne package installed in your Python environment, you can also install mne-qt-browser separately (e.g., using pip, uv, or conda).

Usage

The backend supports plotting for the following MNE-Python methods:

The following example demonstrates how to read and plot the MNE sample dataset:

import mne

raw = mne.io.read_raw(
    mne.datasets.sample.data_path() / "MEG" / "sample" / "sample_audvis_raw.fif"
)

raw.plot(block=True)

If the plot does not appear, check the troubleshooting section below for possible solutions.

MNE ≥ 1.0.0 will automatically use the Qt backend for plotting if it is available. If you want to set the backend explicitly, you can do so by calling:

mne.viz.set_browser_backend("qt")  # or "matplotlib"

You can set the backend to "qt" or "matplotlib". If you want to make this setting permanent, you can modify your MNE configuration file by running:

mne.set_config("MNE_BROWSER_BACKEND", "qt")  # or "matplotlib"

Troubleshooting

Running from a script

If you run a script containing raw.plot() as follows, the plot will close immediately after the script finishes:

python example_script.py

To keep the plot open, you can either use blocking mode:

raw.plot(block=True)

Alternatively, you can run the script in interactive mode:

python -i example_script.py

IPython

When using an interactive IPython console, calling raw.plot() in non-blocking mode may cause the plot window to freeze or become unresponsive. This happens because IPython must be configured to run the Qt event loop to handle plot interactions.

To fix this, you can either use blocking mode, which runs its own event loop:

raw.plot(block=True)

Alternatively, enable Qt event loop integration in your IPython session by running the following magic command before you plot:

%gui qt

Development and testing

You can run the included benchmarks locally with:

pytest -m benchmark mne_qt_browser

To run the PyQtGraph tests, use:

pytest mne_qt_browser/tests/test_pg_specific.py

You can also run additional tests from the MNE-Python repository. The following command assumes that you have cloned the MNE-Python repository in the parent directory of this repository:

pytest -m pgtest ../mne-python/mne/viz/tests

These tests require PyOpenGL to be installed. If OpenGL is not available on your system, you may encounter errors. To suppress these, add the following line to mne/conftest.py after the existing error:: line:

    ignore:.*PyOpenGL was not found.*:RuntimeWarning

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mne_qt_browser-0.7.4.tar.gz (60.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mne_qt_browser-0.7.4-py3-none-any.whl (76.7 kB view details)

Uploaded Python 3

File details

Details for the file mne_qt_browser-0.7.4.tar.gz.

File metadata

  • Download URL: mne_qt_browser-0.7.4.tar.gz
  • Upload date:
  • Size: 60.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mne_qt_browser-0.7.4.tar.gz
Algorithm Hash digest
SHA256 4ef6daaa1c25b6eda6eb370a571847dc950f05d4a97be4e49452428e8db5bbd2
MD5 69df96dab992b0ef9014d42dd450bf1f
BLAKE2b-256 d236b5a7c52d558d3c0f147f50770a456644f1169f5b8b703e839ab140951921

See more details on using hashes here.

File details

Details for the file mne_qt_browser-0.7.4-py3-none-any.whl.

File metadata

  • Download URL: mne_qt_browser-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 76.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mne_qt_browser-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a568cb45e319ca710bdd1fed9d6146e154688d3593fc30d0808c5d4ce0b01f63
MD5 f5d1505c1e24da94ff62730c8fa17139
BLAKE2b-256 f6126fcb9bd49ca90d400ecac1b7d542c13d3744d2068d557ebcf1ec86ce62f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page