Skip to content

Alexander-Reimer/Interpreting-EEG-with-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

Please see the refactor branch, not this one, as the refactor branch is the one currently under development and also much more representative of a future stable version of this package. The main branch is abandoned and currently all features of main are being rewritten in refactor.

Table of Contents

  1. Introduction
  2. Installation
  3. Usage
  4. Documentation

Introduction

This is a project by Alexander Reimer and Matteo Friedrich.

We are trying to create an open-source interface for recognizing ERPs of the human brain, for usage in brain–computer interfaces (BCIs). It is being developed with simplicity and ease of use in mind.

We hope to make peoples lives easier and give beginners like ourselves a better chance to develop their own BCIs.

We're just at the beginnings ourselves, however, and also want to learn and grow through this project. Any help and advice is appreciated!

Installation

  1. Clone this GitHub Repository:
    git clone https://github.com/AR102/Interpreting-EEG-with-AI

  2. Create the file config.jl in the folder src. (3. pip install matplotlib) To update, use git pull.

Usage

  1. Start Julia in the directory the/path/to/Interpreting-EEG-with-AI/src
  2. Use ] to enter the package manager
    • activate .
    • instantiate to download necessary packages
  3. Exit with Backspace
  4. include("filename") to execute

The way this program is made, it should be able to run by default. So the first thing you should do is execute train.jl and check if any errors occur.

This file is responsible for training the neural network. The files gather_data.jl and main.jl are responsible for collecting your own training/test data and using the BCI live, respectively. However, they aren't finished yet.

If there aren't any errors or problems, you can start customizing the program!

You can put your own configuration in the config.jl file you created during the installation.

You can look at the default parameters in default_config.jl.

Some examples you could put into your config file:

# Decrease number of available EEG channels to 8
NUM_CHANNELS = 8
# Increase learning rate to 0.002
LEARNING_RATE = 0.002

You can also create multiple config files and switch between them by replacing include("config.jl") with include("config2.jl") or whatever you named the file.

Documentation

The detailed documentation of all parameters can be found here.

Releases

No releases published

Packages

No packages published