This package provides additional functionality for working with MNE-Python, the most popular Python package for processing electrophysiological data (EEG, MEG, ...).
MNEXTEND provides readers for the following file formats that are not natively supported by MNE-Python:
In addition, MNEXTEND adds the following readers from third-party packages:
Together with the native MNE-Python readers, read_raw() and read_epochs() provide a unified interface for reading electrophysiological data from a wide range of file formats, so all you have to do is:
from mnextend import read_raw, read_epochs
raw = read_raw("my_data-raw.xdf", stream_ids=[1, 2, 3])
epochs = read_epochs("my_data-epochs.fif.gz")Some formats require inspecting file contents before calling read_raw(), e.g. to let a user pick which stream(s) or participant(s) to load:
from mnextend.io.bvrf import read_bvrf_header
from mnextend.io.xdf import resolve_streams
streams = resolve_streams("my_data.xdf")
header = read_bvrf_header("my_data.bvrh")Writing raw data is supported via write_raw(), which does not implement any new file formats, but provides a unified interface for writing raw data to the file formats that are natively supported by MNE-Python:
from mnextend import write_raw
write_raw("my_data-raw.fif.gz", raw)MNEXTEND includes ICLabel, a pre-trained classifier that labels ICA components as one of seven types: brain, muscle, eye, heart, line noise, channel noise, or other. In contrast to MNE-ICALabel, the classifier is implemented in pure NumPy and does not depend on ONNX Runtime.
run_iclabel() takes a fitted ICA object and the corresponding Raw or Epochs instance (which must have a montage set), and returns an array of class probabilities:
from mnextend import plot_ica_components, run_iclabel
probs = run_iclabel(raw, ica)
figs = plot_ica_components(raw, ica, probs)