-
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
Add Missing Fields to RawEEGLAB and EpochsEEGLAB Classes Using DataContainerEEGLAB #12773
Conversation
Hello! 👋 Thanks for opening your first pull request here! ❤️ We will try to get back to you soon. 🚴 |
for more information, see https://pre-commit.ci
I am not totally sold on this idea. I think the goal of the ICA EEGLAB reader is to get EEGLAB-computed ICA to conform to the same conventions / use cases as the MNE-Python computed I think rather than attaching this to the object, I'd rather have an |
Thank you for your feedback on the proposed changes. I appreciate your concerns about maintaining consistency with MNE-Python conventions and your suggestion to provide an example for users to access EEGLAB-specific attributes directly using pymatreader. However, I believe that integrating EEGLAB-specific attributes directly into the DataContainerEEGLAB class offers several significant benefits that enhance the overall usability and efficiency of the MNE-Python framework. This changes may improve integration, by incorporating these attributes directly into the DataContainerEEGLAB class, we create a more seamless and integrated experience for users working with both MNE and EEGLAB. This approach allows users to access all relevant information within a single object, streamlining workflows and reducing the need to switch between different data structures and also users benefit from having immediate access to both MNE-style and EEGLAB-specific attributes without the need for additional code to extract these fields. This not only saves time but also minimizes the potential for errors, thereby increasing productivity and user satisfaction. |
I'm -1 on this, it's purely a container-class which return a subselection of the EEGLAB fields loaded by It adheres with non of MNE's standards and interact with non of MNE's function. However, if our current readers are missing some relevant fields from the |
I agree with @mscheltienne here. If there are specific fields/attributes in the EEGLAB object that don't have an equivalent in the MNE objects created by our Closing, but if you do in fact have a concrete use case where you need some of the info we currently don't include, feel free to re-open. |
Reference issue
Example: Fixes #12772.
What does this implement/fix?
Explain your changes.
This pull request adds new fields to the
DataContainerEEGLAB
class to ensure all relevant fields from an EEGLAB .set file are properly stored. This enhancement aims to improve the completeness and usability of the class.Changes
DataContainerEEGLAB
class to store additional fields from the EEGLAB .set file.RawEEGLAB
andEpochsEEGLAB
classes docstring to reflect the new attributes.New Attributes
setname
filename
filepath
subject
group
condition
session
comments
nbchan
trials
pnts
srate
xmin
xmax
times
data
icaact
icawinv
icasphere
icaweights
icachansind
chanlocs
urchanlocs
chaninfo
ref
event
urevent
eventdescription
epoch
epochdescription
reject
stats
specdata
specicaact
splinefile
icasplinefile
dipfit
history
saved
etc
run
roi
datfile
Proposed Solution
Using the composition design pattern, the
DataContainerEEGLAB
class encapsulates an instance of theBunch
object containing the EEG data. This approach ensures modularity and clean organization of code, enhancing maintainability and readability.Additional information
Any additional information you think is important.