Hi,
I may have found another documentation issue, now related to processing EEG separately in a combined MEEG dataset. At the documentation of the data_type option one of the examples says:
“The dataset contains simultaneous recordings of MEG and EEG, and we only wish to process the EEG data, which is stored inside the MEG files:”
ch_types = ['eeg']
data_type = 'eeg'
I tried this and got the error below at the very beginning of the processing:
[16:47:00] ┌╴🚀 preprocessing/_01_data_quality Now running 👇
[16:47:00] │ ❌ preprocessing/_01_data_quality sub-01 A critical error occurred. The error message was: Missing file: /imaging/davis/Projects/SpeechMisperceptionMEEG/MNE-BIDS_data/sub-01/eeg/sub-01_split-01
Aborting pipeline run. The full traceback is:
Traceback (most recent call last):
File "/home/ma09/.conda/envs/my_mne1.4_fix/lib/python3.11/site-packages/mne_bids_pipeline/_run.py", line 54, in wrapper
out = memory.cache(func)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ma09/.conda/envs/my_mne1.4_fix/lib/python3.11/site-packages/mne_bids_pipeline/_run.py", line 147, in wrapper
in_files = kwargs["in_files"] = self.get_input_fnames(**these_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ma09/.conda/envs/my_mne1.4_fix/lib/python3.11/site-packages/mne_bids_pipeline/steps/preprocessing/_01_data_quality.py", line 46, in get_input_fnames_data_quality
in_files = _get_raw_paths(
^^^^^^^^^^^^^^^
File "/home/ma09/.conda/envs/my_mne1.4_fix/lib/python3.11/site-packages/mne_bids_pipeline/_import_data.py", line 540, in _get_raw_paths
_update_for_splits(in_files, key, single=True)
File "/home/ma09/.conda/envs/my_mne1.4_fix/lib/python3.11/site-packages/mne_bids_pipeline/_run.py", line 335, in _update_for_splits
assert not missing, f"Missing file: {bids_path.fpath}"
AssertionError: Missing file: /imaging/davis/Projects/SpeechMisperceptionMEEG/MNE-BIDS_data/sub-01/eeg/sub-01_split-01
So the pipeline is looking for the eeg subdirectory in the subject directory, which is not right as the data type is ‘meg’ in the BIDS structure.
I think this is likely a documentation error and the correct example settings should be:
ch_types = ['eeg']
data_type = 'meg'
If this is indeed the case and others agree I’m happy to correct this.
Best wishes,
Máté
System info:
Platform Linux-3.10.0-1160.el7.x86_64-x86_64-with-glibc2.17
Python 3.11.3 | packaged by conda-forge | (main, Apr 6 2023, 08:57:19) [GCC 11.3.0]
Executable /home/ma09/.conda/envs/my_mne1.4/bin/python
CPU x86_64 (32 cores)
Memory 251.4 GB
Core
├☑ mne 1.4.0
├☑ numpy 1.24.3 (OpenBLAS 0.3.23 with 32 threads)
├☑ scipy 1.10.1
├☑ matplotlib 3.7.1 (backend=agg)
├☑ pooch 1.7.0
└☑ jinja2 3.1.2
Numerical (optional)
├☑ sklearn 1.2.2
├☑ numba 0.57.0
├☑ nibabel 5.1.0
├☑ nilearn 0.10.1
├☑ dipy 1.7.0
├☑ openmeeg 2.5.6
├☑ pandas 2.0.2
└☐ unavailable cupy
Visualization (optional)
├☑ pyvista 0.39.1 (OpenGL unavailable)
├☑ pyvistaqt 0.0.0
├☑ ipyvtklink 0.2.2
├☑ vtk 9.2.6
├☑ qtpy 2.3.1 (None=None)
├☑ pyqtgraph 0.13.3
├☑ mne-qt-browser 0.0.0
└☐ unavailable ipympl
Ecosystem (optional)
├☑ mne-bids 0.12
├☑ mne-bids-pipeline 1.3.0
└☐ unavailable mne-nirs, mne-features, mne-connectivity, mne-icalabel