-
Notifications
You must be signed in to change notification settings - Fork 180
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
default bandpass parameters #533
Comments
Hey @martinwimpff! Yes! There is a reason! The narrative revolves around Moabb's philosophy on reproducibility, a concept shaped by @vinay-jayaram and @alexandrebarachant. About five years back, before Moabb, articles often played around with things like bandpass, baseline, etc for different datasets and methods. This made it impossible to compare them fairly. Authors usually had some extra tricks that made their method seem way better. So, Moabb stepped in. They said, "Hold up! Let's treat all the datasets the same way, right from the start." They processed the raw data uniformly and checked the methods in the same way—whether within-session, cross-session, or cross-subject evaluation. Just a heads-up, this preprocessing happens only when you're using the motor-imagery/ssvep/cvep/p300 paradigm object, and the band interval selection was based on studies by Fabian Lotte (BCI) or other similar literature for each paradigm. If you prefer, you can easily remove the bandpass by tweaking the object's values. In Braindecode, you get the raw data without this preprocessing because we grab it using the dataset object. |
Tagging @sylvchev if you want to complement |
Hi Bruno, thanks for the fast response! Best, |
I understand your concern, do you have any results or do you know any publication that investigates the influence of bandpass filters on DL models across several model (more than just BCIC IV 2a)? |
If there are results suggesting that the bandpass is not helpful in DL situations then that's a good argument to change the default, but otherwise the original definition was to deal with the fact that the 8-32 bandpass also mitigates movement and muscle artifacts. Especially for DL it's important -- if you want to make a claim about brain interfacing and not simply EEG -- to provide evidence or use methods to convince the reader that the models aren't taking advantage of non-brain information as well. I also strongly agree with Sylvain -- a single dataset should not be considered more important than any other (especially the BCIC datasets! They've been overfitted to for decades) unless its large enough to offer population coverage or was recorded on the same hardware setup as a planned closed-loop study. |
Thanks for your responses @sylvchev @vinay-jayaram! DL often uses 4-40Hz BP whereas CSP & Co. tend to use smaller bandwidths like 8-32Hz. I personally like it when the default parameters don't change the original data at all such that every modification of the original data is an "active choice" which should then be mentioned in the paper. Finally, I think this is more about personal preference so it is not necessary to change the default parameters. However, I still see the problem that people may be discouraged from using MOABB as it was intended. |
Do you obtain a noticeable difference with 4-40 Hz instead of 8-32Hz and with what kind of DL models? Regarding leaving the data as is and to make the filtering part more visible (with a preprocessing step), I understand your point but the MOABB community is very diverse. We provide the data "as is" with the dataset object, and you could do what you want with it (useful for Neuroscience folks), or if you are more in ML and don't know about EEG, the paradigms are there to ensure that the preprocessing is correct and you get a ndarray easy to handle. Indeed, DL blurred the lines with the end to end approaches. With @PierreGtch we are adding the possibility to make batch preprocessing, defined for all your data and save the transformed dataset for further reuse without needing to apply the preprocessing steps. Only few users are both knowledgeable in EEG and ML, and they know how the data is processed or know how to find the information. |
moabb/moabb/paradigms/motor_imagery.py
Lines 291 to 311 in 4b297b9
Is there any reason why the default bandpass values are
8
and32
?In my opinion these should be
None
i.e. the default is to not use a filter at all.The text was updated successfully, but these errors were encountered: