This work has been done during the g-tec Spring School 2021.
We had to analyze a motor imagery BCI data-set from a chronic stroke patient to optimize pre-processing. The dataset included three patients and the data were collected before and after intervention in order to evaluate the improvement.
The followed steps included:
- DataSet choice: we conducted the evaluation both on a dataset with a single patient and a dataset with all the patients together to obtain a generic result.
- Epoch choice: we took different epochs between 2s, 6s and 8s.
- Preprocessing: a bandpass filtering was applied between 8Hz and 30Hz, but we also kept the raw signal.
- Feature extraction: we used CSP (Common Spatial Filter) in order to extract the features.
- Classification: a Grid Search was conducted with a 5-fold Cross-Validation to obtain the best classification.
To get a local copy up and running follow these simple steps.
Clone the repo
git clone https://github.com/MachineLearningJournalClub/Stroke_Rehab_VBH_2021.git
The given dataset contains an EEG recording included in the matrix y, a trigger vector (trig) and the sampling frequency. The only filtering already applied to the data is a notch filter at 50Hz, automatically performed during the acquisition.
By using the MATLAB file Preprocessing_main.m it is possible to filter the raw data. This is done by applying a two-step pre-processing: first of all, the data is bandpass filtered with an 8th order Butterworth extracting only the alpha and beta rhythms. Secondly, an epoch division is performed. Additionally, the first segment of data without executed tasks is cut since it doesn't contain useful information. This file outputs filtered and unfiltered epochs divided by right and left, respectively Dx and Sx.
In the python file Grid_Search.ipynb
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Lorenzo Migliori - email : - LinkedIn
Eleonora Misino - email: [email protected] - LinkedIn - Github
Caterina Putti - email : - LinkedIn
Pietro Sillano - email : [email protected] - LinkedIn
Beatrice Villata - email : [email protected]
Project Link: https://github.com/MachineLearningJournalClub/Stroke_Rehab_VBH_2021