-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve I/O with EEGLAB #9989
Comments
Sounds good! However, MNE does not keep track of the reference channel so unfortunately this won't work automatically. |
@cbrnr Arf! Too bad for that, but to be honest my main priority is the channel types :) Now that I think about it, what about projectors that are not yet applied? I think, for now, the export is not applying them.. maybe we could add a |
True, but I'd rather leave it to the user to define what they want to export. That way, we don't have to add another parameter (which as you correctly say only works for that single case). |
But projectors may contain other types of projectors that the user may want to set. I think the method |
EEGLAB is mostly used for EEG analysis, and setting an average reference in MNE does not use a projector by default. The other popular projector in MNE is SSP, which is used in MEG analysis. I think if someone uses one of these two projectors in EEG analysis (or some other custom projector), they probably know what they are doing and should be able to |
Sounds good! However, MNE does not keep track of the reference channel so
unfortunately this won't work automatically.
what do you mean?
|
I think he meant that if you reference to a specific channel, e.g. |
@CBNR what was the reason for this? we have no fif constant tag to store
this?
note that the info['chs'][0]['loc'][3:6] should contain the location of the
reference for EEG channel of index 0
but this is still not done properly. I was not aware of this FIF
requirement when this was written years ago...
… |
Yes. And my opinion is still that we should move beyond FIFF when it is holding us back. EEG data is not stored in FIFF very often, and I believe other formats such as EDF or BrainVision do support storing the reference name. |
@cbrnr @agramfort Related to this,
|
We discussed this before, and yes, I too believe this is a massive shortcoming of MNE that we urgently need to resolve for EEG users. Here's the discussion thread, in which we discussed some concrete ideas how to best address this, all within the FIFF specs if I'm not mistaken: #8962 |
I would phrase it as "we should extend the FIF spec when it's holding us back." So far the times we've done it I think it has forced us to really think about and distill what's necessary about the new information. Without this constraint (e.g., if we adopted a looser approach for example based on HDF5) I imagine things would have been messier long term. |
... and I think #8962 is good example actually, even though we haven't settled on a solution there |
I'd like to second that |
can we discuss this tomorrow during the MNE office hours?
… |
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_set
ineeglabio
, it has an argumentref_channels
that 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.set
file 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:
The text was updated successfully, but these errors were encountered: