Git Product home page Git Product logo

vep-app's Introduction

Project-Template

A template for any future projects

Project Video: https://youtu.be/

Link to paper:

Usage

  • Run pip install -r requirements.txt to install the dependencies.
  • In /scripts, python main.py will run the app.
  • Upload the entire project folder to Google drive, and open the .ipynb files in Colab to run the demo notebooks.

Github Directories

  • /data - Where the recorded eeg data, intermediate variables, and analysis results for plotting the figures will be stored.
  • /figures Stores all of the figures generated by the scripts.
  • /notebooks Demo notebooks illustrating the data processing and modeling pipeline.
  • /scripts Each script is for a particular processing stage.
    • /scripts/main.py - The scripts that runs the entire project pipeline, combining all of the processing scripts.
  • /src - Modular code files that are meant to be imported by different scripts.
    • /src/funcs.py - Modular data processing functions for the script files to use.
    • /src/utils.py - Modular utility functions such as ploting, loading, and saving the data.
    • /src/custom_module.py - Can have different names. Where we define custom classes for modeling, GUI, etc.

App Flow

Describe the app processing stages with figures and screenshots of the app.

Mapping of Electrodes

Describe the mapping of electrodes with a mapping figure and a real-life photo of the setup.

Modules

Descriptions of different parts of the projects worth noting, each with its own subtitle.

Download Data

  • Currently, data is hosted in the NeuroTech Google Drive

Prepare Data

  • py src/data/make_dataset.py ${RAW_DATA_DIR} ${OUTPUT_PATH} to parse raw continuous data into bandpass trialized data for modeling. The output data will be numpy data with the shape: (trials, num_targets, channels, timepoints)
    • ${RAW_DATA_DIR} should have two files in it, meta.csv and eeg.csv.
    • eeg.csv will have the first column being the timestamps, and the rest of the columns being the channel names.
    • meta.csv has no headers, its 1st column is the corresponding freq of our targets, 2nd column is the phase offset, and 3rd column is the time with timepoint as units
  • py src/data/split_dataset.py ${EEG_DATA_PATH} ${LABEL_DATA_PATH} -train -val -test ${OUTPUT_PATH}
    • ${EEG_DATA_PATH} should contain data with the shape in npy format: (trials, num_targets, channels, timepoints)
    • ${EEG_DATA_PATH} should contain data with the shape in npy format: (trials, num_targets)
    • -train specifies the proportion of training data -val and -test for the validation and testing data respectively. The proportions must sum up to 1.

Models

  • py src/models/train.py ${TRAIN_DATA_PATH} ${VALIDATION_DATA_PATH} ${OUTPUT_PATH} to train the model and save it

Evaluation

py src/models/evaluation.py ${CHECKPOINT_PATH} ${TEST_DATA_PATH} to evaluate model performance

Acknowledgement

Put the team and partners here.

vep-app's People

Contributors

simonfei123 avatar darrenwu42 avatar jessalynwang avatar cheersbbg avatar naasikjahan avatar

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.