I have to work a bit with EEGLAB, and I'm not very familiar with it (yet) but I already noticed a couple of improvements that could be made to the I/O in my opinion.
Reader
Channel type is hard-coded to 'eeg' here while EEGLAB seems to support a larger variety of channel types.
From the documentation:
‘EEG’, ‘MEG’, ‘EMG’, ‘ECG’, ‘Events’, etc.
Proposition: Try to retrieve the channel types saved by EEGLAB and convert it to one of MNE channel types (e.g. 'EEG' -> 'eeg', 'Events' -> 'stim').
Writer / Export
Looking at export_set in eeglabio, it has an argument ref_channels that is not used by the export code. If I'm not mistaken, the referencing information is present in Info, so it could be passed to the .set file via this argument.
eeglabio.raw.export_set(
fname, data=raw.get_data(picks=ch_names), sfreq=raw.info['sfreq'],
ch_names=ch_names, ch_locs=cart_coords, annotations=annotations)
Support for channel type is not included in eeglabio, I would like to add it jackz314/eeglabio#4
Once added to eeglabio, the exporter could make use of this additional argument.
TODO:
I have to work a bit with EEGLAB, and I'm not very familiar with it (yet) but I already noticed a couple of improvements that could be made to the I/O in my opinion.
Reader
Channel type is hard-coded to
'eeg'here while EEGLAB seems to support a larger variety of channel types.From the documentation:
Proposition: Try to retrieve the channel types saved by EEGLAB and convert it to one of MNE channel types (e.g.
'EEG'->'eeg','Events'->'stim').Writer / Export
Looking at
export_setineeglabio, it has an argumentref_channelsthat is not used by the export code. If I'm not mistaken, the referencing information is present inInfo, so it could be passed to the.setfile via this argument.Support for channel type is not included in
eeglabio, I would like to add it jackz314/eeglabio#4Once added to
eeglabio, the exporter could make use of this additional argument.TODO: