mne-tools / mne-python

MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python
https://mne.tools
BSD 3-Clause "New" or "Revised" License
2.7k stars 1.31k forks source link

Add Missing Fields to RawEEGLAB and EpochsEEGLAB Classes #12772

Closed MohammadMow closed 2 months ago

MohammadMow commented 2 months ago

Describe the new feature or enhancement

The current implementation of the RawEEGLAB and EpochsEEGLAB classes in the MNE library does not load all available fields from EEGLAB .set files. Important fields such as 'icaact', 'icawinv', and several others are missing. This feature request aims to extend the functionality of these classes to include all possible fields present in EEGLAB .set files.

The following fields should be added to both RawEEGLAB and EpochsEEGLAB classes:

Describe your proposed implementation

Using Composition and Create a DataContainerEEGLAB Class

I think Composition is a good solution. This class will be responsible for storing and managing all the fields from the EEGLAB .set file. The class will be initialized with a Bunch object containing EEG data and will extract and store all possible fields. Then RawEEGLAB and EpochsEEGLAB classes will have a data_container field.

Describe possible alternatives

Multiple Inheritance

I think it is better not to use multiple inheritance because it may cause problems such as having the same name of the methods, etc.

Additional context

No response

welcome[bot] commented 2 months ago

Hello! 👋 Thanks for opening your first issue here! ❤️ We will try to get back to you soon. 🚴

mscheltienne commented 2 months ago

The ICA fields are read by this function in an ICA object: https://mne.tools/dev/generated/mne.preprocessing.read_ica_eeglab.html Or is something else missing?

drammock commented 2 months ago

closing as not planned; see discussion in https://github.com/mne-tools/mne-python/pull/12773#issuecomment-2275950319