Git Product home page Git Product logo

research's Introduction

Brain Signal Anaylsis Projects

This repository contains groups of scripts written as a part of fNIRS, EEG classification research for the state-of-the-art deep learning application.

(1) Columbia Data Science Institute (DSI) Conference

"Brain State Classification on Functional Near Infrared Spectroscopy using Convolutional Neural Networks"
Andrew Lee, Jim (Euiyoung) Chung, Xiaofu He

The main project in progress. Our lab is planning finalize the paper soon and the source code will be updated after the paper is published.
Poster

(2) EEG Classification for Motor Imagery Tasks using CNN and LSTM

Overview

TensorFlow and Keras implementation of Zhang et al(2018), "EEG-based Intention Recognition from Spatio-Temporal Representations via Cascade and Parallel Convolutional Recurrent Neural Networks" for EEG motar imagery classification on PhysioNet data (https://archive.physionet.org/pn4/eegmmidb/). Stacked CNN and RNN were applied on time-distributed sliding windows of raw EEG data.

Acamdemic Reference

directory title author year
BCI4 Filter Bank Common Spatial Pattern (FBCSP) in Brain-Computer Interface Kai Keng Ang, et al. 2008
BCI4 Filter bank common spatial pattern algorithm on BCI competition IV Datasets 2a and 2b Kai Keng Ang, et al. 2012
BCI4 Feature Selection for Motor Imagery EEG Classification Based on Firefly Algorithm and Learning Automata Aiming Liu, et al. 2017
deepLearning Learning Representations from EEG with Deep Recurrent-Convolutional Neural Networks Pouya Bashivan, et al. 2016
deepLearning EEG-Based Emotion Recognition Using Deep Learning Network with Principal Component Based Covariate Shift Adaptation Suwicha Jirayucharoensak, et al. 2014
deepLearning A Deep Learning Architecture for Temporal Sleep Stage Classification Using Multivariate and Multimodal Time Series Stanislas Chambon, et al. 2018
deepLearning Deep Learning With Convolutional Neural Networks for EEG Decoding and Visualization Robin T. Schirrmeister, et al. 2017
deepLearning EEG-based Intention Recognition from Spatio-Temporal Representations via Cascade and Parallel Convolutional Recurrent Neural Networks Dalin Zhang, et al. 2018
deepLearning A Deep Learning Method for Classification of EEG Data Based on Motor Imagery Xiu An, et al. 2014
emotionState Classifying Different Emotional States by Means of EEG- Based Functional Connectivity Patterns You-Yun Lee, Shulan Hsieh 2014
emotionState Emotion Classification Based on Gamma-band EEG Mu Li, Bao-Liang Lu 2009
preprocessing Time-series discrimination using feature relevance analysis in motor imagery classification A.M. Alvarez-Meza, et al. 2014
preprocessing Comparison of signal decomposition methods in classification of EEG signals for motor-imagery BCI system Jasmin Kevric, et al. 2015
preprocessing Classification of EEG Motor imagery multi class signals based on Cross Correlation D.Hari Krishna, et al. 2016
preprocessing EEG Signal Processing Techniques For Mental Task Classification Rajveer Shastri, et al. 2015

Description of files

  • All code is written in python3
  • Dependencies include MNE (EEG handling package), Keras, requests, urllib3
  • Python scripts are adjusted to be run on HPC

Non-Python files:

filename description
README.md Text file (markdown format) description of the project.

Python Scripts:

filename description
eeg_main.py Import EEG data from data files and start training the graph (added for HPC clusters)
eeg_tensorflow.ipynb TensorFlow and Keras implementation. Please refer to this notebook for a quick look

Python Modules (HPC version):

filename description
eeg_preprocessing.py Preprocessing steps to implement spatio-temporal pattern recognition on raw eeg data. Based on Scikit-learn and MNE pacakges.
eeg_import.py Functions defined to extract data from .edf file format using MNE package.
eeg_data_downloads.py Executing this code will generate folders and start downloading PhysioNet data into them.
eeg_eval.py Evaluation of the model based on the history file. - calls the confusion matrix, loss, and accuracy.
gpu_training.sh Send the eeg_main.py script to the computational nodes. Enter 'sbatch gpu_trainin.sh' on Habanero HPC.

research's People

Contributors

kearlay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

research's Issues

I had a problem replicating the code.

Using TensorFlow backend.
Traceback (most recent call last):
File "D:/pycharm-project/research-master/py/eeg_main.py", line 10, in
from eeg_import import get_data, FNAMES
File "D:\pycharm-project\research-master\py\eeg_import.py", line 156, in
a,b=get_data(subj_num=FNAMES, epoch_sec=0.0625)
File "D:\pycharm-project\research-master\py\eeg_import.py", line 151, in get_data
X = np.stack(X)
File "D:\Program Files\pycharm2017\anaconda2\envs\py3.6\lib\site-packages\numpy\core\shape_base.py", line 350, in stack
raise ValueError('need at least one array to stack')
ValueError: need at least one array to stack

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.