Mne.io.read_raw_edf devolves very low values

Hi

I am new in MNE, but in my work i can read and load the raw data

data = mne.io.read_raw_edf(file)
raw_data = data.get_data()

however the raw_data contains very low values, in the order of 0.00xx, for a EDF file which contains integer values around -+ 1500 uV, so I am confused if read_raw is working well

My resources

  • MNE-Python version: 0.22.0
  • operating system: Windows 10
  • Python 3.8

I compared plotting a single channel using MNE and Matlab to show the difference. Here, Matlab given me the true values.

MNE

matlab

Hello, the scaling seems to be off by 6 orders of magnitude, so I assume the source data is in µV, but MNE interprets it as V.

How was the file created?

If you open it in edfbrowser, which scaling is used?

How do you plot the data?

@richard ou are right, the data is in uV, I plotted it by edfbrowser. The data is a public EEG dataset chb-mit-scalp-eeg-database-1.0.0.

How can I point it out to MNE (or I should just multiply by the scale factor)?

The plot is as follows:

The data is alright and loaded correctly by MNE.

If you’re plotting the data manually (and not via raw.plot), you need to scale from Volts to µV by multiplying by 1e6 before plotting, as MNE keeps EEG data in Volts by default.

Ok, thank you for your suggestions.

1 Like