Script kills kernel on loading raw file

Hi, I am kinda new to this, so hoping to get some help. I have an hour long raw file from EGI system with 256 channels with auditory stimuli. Files are around 3.8 GB big. When I try to load using raw read egi with Preload=True, it never completes. It just crushes the kernel. I have MacBook Pro with M2 Pro chip and 16GB RAM and it seems that it runs out of RAM and crashes. I could of course downsample the data, but I can’t get through initial load as it just… crashes.

  • MNE version: e.g. 1.8.0
  • operating system: MacOS 14.1.1

Here is relevant snippet:

import mne

mff_file = "file.mff"
raw = mne.io.read_raw_egi(mff_file, preload=True)

Thank you for any help.

Hi @senad-92

To help troubleshoot, can you check these two things:

  1. Does the kernel crash if you set preload=False?
  2. Are you able to load the MFF file into python using GitHub - BEL-Public/mffpy: Reader and Writer for Philips' MFF file format. ?

Thanks!

Hi Scott,

thank you for your prompt answer.

It crashes even without preload (preload=false).


%runfile /Users/senad/Documents/stimulation/senad/convert.py --wdir
Reading EGI MFF Header from /Users/senad/Documents/stimulation/senad/SAPA_3048E_20241114_034426.mff...
/Users/senad/Documents/stimulation/senad/convert.py:13: FutureWarning: events_as_annotations defaults to False in 1.8 but will change to True in 1.9, set it explicitly to avoid this warning
  raw = mne.io.read_raw_egi(mff_file, preload=False)
    Reading events ...
    Assembling measurement info ...
    Excluding events {} ...

The kernel died, restarting...

mffpy seems to load the mff file:

import mffpy


fo = mffpy.Reader("SAPA_3048E_20241114_034426.mff")
print("time and date of the start of recording:", fo.startdatetime)
print("number of channels:", fo.num_channels)
print("sampling rates:", fo.sampling_rates, "(in Hz)")
print("durations:", fo.durations, "(in sec.)")
print("Here's the epoch information")
for i, e in enumerate(fo.epochs):
    print("Epoch number", i)
    print(e)


time and date of the start of recording: 2024-11-28 03:32:25.988699+01:00
number of channels: {'EEG': 257, 'PNSData': 6}
sampling rates: {'EEG': 1000, 'PNSData': 1000} (in Hz)
durations: {'EEG': 3605.726, 'PNSData': 3605.726} (in sec.)
Here's the epoch information
categories.xml not found or of wrong type. `Epoch.name` will default to "epoch" for all epochs.
Epoch number 0
Epoch:
        Name = epoch
        t0 = 0.0 sec.; dt = 3605.7259999999997 sec.
        Data in blocks slice(0, 902, None)

Thank you,

Senad.

Hi @senad-92

Thanks for doing that - are you able to share the problem file?

Dear Scott,

you mean the mff file? Unfortunately IRB prevents me from doing that.

But I have tried the mff file on different lab computer (64 GB RAM) and it worked. Also tried fif file from MEG&EEG on my MacBook and it also crushed kernel (when fitting ICA) so starting to think that the problem is my Mac with limited RAM.

Best, Senad.

1 Like