raphaelvallat / yasa

YASA (Yet Another Spindle Algorithm): a Python package to analyze polysomnographic sleep recordings.
https://raphaelvallat.com/yasa/
BSD 3-Clause "New" or "Revised" License
417 stars 113 forks source link

Use MNE for conversion Volts to uV #70

Closed raphaelvallat closed 2 years ago

raphaelvallat commented 2 years ago

Closes https://github.com/raphaelvallat/yasa/issues/59

MNE automatically scales EEG (and EOG, EMG, ECG data) to Volts. YASA however expect the data to be in micro-Volts. The current behavior of YASA is to manually scale the data by 1e6 to convert from Volts to uV:

data = raw.get_data() * 1e6

With this PR, the conversion is now performed directly within the mne.Raw.get_data() function, using the units argument (added in MNE 0.23.0):

data = raw.get_data(units=dict(eeg="uV", emg="uV", eog="uV", ecg="uV"))

This converts the EEG, EMG, EOG and ECG data to uV, while leaving the other channel types in their original MNE units.

Can someone please review this PR before June 20, 2022?

PS: I'll update the changelog once https://github.com/raphaelvallat/yasa/pull/68 is merged.

Thank you, Raphael