Skip to content
An easy-to-use platform for EEG experimentation in the classroom
Branch: master
Clone or download
Latest commit 5981687 May 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Added Redux infrastructure for Emotiv connectivity Jun 24, 2018
app Updated package jsons May 14, 2019
flow-typed 🚀 Jun 22, 2018
internals 🚀 Jun 22, 2018
notebooks Wrapped up AnalyzeComponent; Added ClickableHeadDiagram and refactore… Oct 14, 2018
resources Added app icon Oct 14, 2018
test 🚀 Jun 22, 2018
.babelrc Added web bluetooth Jun 22, 2018
.dockerignore Added web bluetooth Jun 22, 2018
.editorconfig Added web bluetooth Jun 22, 2018
.eslintignore Added web bluetooth Jun 22, 2018
.eslintrc Merged with master and updated eslint Mar 31, 2019
.flowconfig Added web bluetooth Jun 22, 2018
.gitattributes Added web bluetooth Jun 22, 2018
.gitignore pruning dependencies Mar 31, 2019
.npmrc Updated package.jsons and bumped version Sep 13, 2018
.nvmrc chore(npm): dislabe package-lock generation & add min node version Jul 16, 2018
.stylelintrc Added web bluetooth Jun 22, 2018
.travis.yml Added web bluetooth Jun 22, 2018
CHANGELOG.md 🚀 Jun 22, 2018
CODE_OF_CONDUCT.MD Updated README and added image, CONTRIBUTING, and CODE_OF_CONDUCT Feb 2, 2019
CONTRIBUTING.md Updated README and added image, CONTRIBUTING, and CODE_OF_CONDUCT Feb 2, 2019
LICENSE 🚀 Jun 22, 2018
OVERVIEW.md Updated README and added image, CONTRIBUTING, and CODE_OF_CONDUCT Feb 2, 2019
README.md Updated environment.yml link in README May 10, 2019
app_home.png use generic name app Apr 29, 2019
app_logo.png use generic name app Apr 29, 2019
appveyor.yml 🚀 Jun 22, 2018
environment.yml Added pyzmq to environment yml May 10, 2019
keys.js Implemented loading of custom images; Lots of style tweaks Sep 29, 2018
package-lock.json update package.json Apr 10, 2019
package.json Updated package jsons May 14, 2019
webpack.config.base.js Fixed import issues; added package-lock Aug 6, 2018
webpack.config.eslint.js 🚀 Jun 22, 2018
webpack.config.main.prod.js removed cortex lib from project Aug 17, 2018
webpack.config.renderer.dev.dll.js 🚀 Jun 22, 2018
webpack.config.renderer.dev.js Merged Graph Development branch Aug 17, 2018
webpack.config.renderer.prod.js Merged Graph Development branch Aug 17, 2018

README.md

banner

An easy-to-use platform for EEG experimentation in the classroom

Features

  • Design, run, and analyze an experiment using real EEG data all in one desktop app
  • Investigate visual event-related brain waves (ERPs)
  • Supports Emotiv Epoc+ and Muse devices

Screenshots

Prerequisites

BrainWaves is an Electron app that can be installed natively on your system. However, because it makes use of the MNE Python library to perform EEG analysis, it is necessary to set up an appropriate Python environment to be able to analyze collected experimental results.

Environment Setup

BrainWaves needs an Anaconda environment called "brainwaves" with the right dependencies to run its analysis.

  1. Download and install Anaconda for Python 3. We recommend using the Miniconda installer for Python 3.6 available from this page https://github.com/makebrainwaves/BrainWaves
  2. Download the BrainWaves environment file or grab it by cloning this repository

Note: you may need to install Microsoft Visual C++ Build Tools to run this following command on Windows

  1. Open Anaconda prompt (or terminal on Linux and OSX) in the directory where the environment file is located and run conda env create -f environment.yml

  2. If the environment is created successfully, run the following command to create a new jupyter kernel that uses this environment: python -m ipykernel install --user --name brainwaves --display-name "brainwaves"

Download

Installing from Source (for developers)

  • Make sure you have node version >= 7, npm version >= 4 and have followed the Environment Setup instructions

OS X

  • may need to update your .bash_profile to include the path for your compiler (nothing terribly scary).
    1. Find it's location
    which gcc
    1. Add this path to your .bash_profile
    export PATH="/usr/bin:$PATH"

Windows 10

  1. First, clone the repo via git:
git clone https://github.com/makebrainwaves/BrainWaves.git
  1. And then install dependencies
$ cd BrainWaves
$ npm install
  1. If using Emotiv, insert your Emotiv account's credentials into the file keys.js

Run

Start the app in the dev environment. This starts the renderer process in hot-module-replacement mode and starts a webpack dev server that sends hot updates to the renderer process:

$ npm run dev

Alternatively, you can run the renderer and main processes separately. This way, you can restart one process without waiting for the other. Run these two commands simultaneously in different console tabs:

$ npm run start-renderer-dev
$ npm run start-main-dev

Packaging

To package apps for the local platform:

$ npm run package

To package apps for all platforms:

First, refer to Multi Platform Build for dependencies.

Then,

$ npm run package-all

To package apps with options:

$ npm run package -- --[option]

To run End-to-End Test

$ npm run build
$ npm run test-e2e

💡 You can debug your production build with devtools by simply setting the DEBUG_PROD env variable:

DEBUG_PROD=true npm run package

Contributing

if you are interested in fixing issues with the BrainWaves app or helping us add additional features, that's amazing! Please see our How to Contribute.

Also, read our Code of Conduct

License

MIT

You can’t perform that action at this time.