The project is an application which is able to interpret 62-channel raw EEG data. It displays visual representations of the data: a heatmap of the brain activity and plots for each sensor on the brain. A pre-trained classification model then predicts the patient's emotion based on differential entropy features extracted from the data.
| Timesheet | Slack channel | Project report |
|---|
demo.mp4
repository
├── src ## App source code (Python)
├── images ## Images for UX enhancement (work in progress)
├── important ## Non-code files critical for the app's function
├── App.py ## Runs the app
├── de_psd_calculation.py ## Extracts DE and PSD features from raw EEG data
├── feature_extraction.py ## Extracts DE and PSD features with specific parameters
├── file_read.py ## A collection of functions to read .mat and .npz files
├── graphing.py ## Creates graphs of the EEG data
├── model.pkl ## Trained model for prediction
├── predict.py ## Predicts an emotion from raw EEG input data
├── test_model.py ## Loads and tests a model
├── train_model.py ## Loads DE features and trains a model
├── ui.py ## Displays the UI of the app
├── visualization.py ## Creates the image that visualizes the sensors on the brain
├── LICENSE ## Licensing
├── README.md ## You are here
├── 1_20160518_eeg1_2.mat ## Sample data to test the app
├── requirements.txt ## Requirements for running the appPython version should be 3.9.5 or higher.
git clone https://github.com/sfu-cmpt340/2024_1_project_17.git
cd project17_code
pip3 install -r requirements.txtRun the app from src using the code below. Once the app is running, click the upload data button and select the "1_20160518_eeg1_2.mat" file to load the sample data.
cd project17_code
cd src
python3 App.pyData can be found at BCMI SEED-IV.
Request access to this dataset. Upload from the raw EEG data (stored in .mat files) to the app.