8000 GitHub - antiingel/ITR-optimisation: Direct ITR optimisation for SSVEP-based BCI
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

antiingel/ITR-optimisation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Direct ITR optimisation for SSVEP-based BCI

Introduction

This repository contains code for optimising information transfer rate (ITR) in steady-state visual evoked potential (SSVEP) based brain computer interfaces (BCIs). This approach should work in other types of BCIs as well. The novelty of the proposed classification method is that it is based on direct ITR maximisation. ITR is a standard measure of performance for BCIs. It combines the accuracy and the speed of the classifier into a single number which shows how much information is transferred by the BCI in one unit of time. Therefore, maximising ITR maximises the amount of information that the user can transfer to an external device (computer, robot, etc) in a fixed time interval.

The algorithm is introduced in the article: Anti Ingel, Ilya Kuzovkin, and Raul Vicente. "Direct information transfer rate optimisation for SSVEP-based BCI". Journal of neural engineering 16.1 (2018). Please cite this article when using the code.

A few improvements to the original method were suggested in the article: Anti Ingel and Raul Vicente. "Information Bottleneck as Optimisation Method for SSVEP-Based BCI". Frontiers in Human Neuroscience 15 (2021). These improvements have been implemented in this repository.

Requirements

The code is written in Python and has been tested with Python 3.7. Running the code requires packages numpy, scipy, sklearn, pandas, matplotlib, sympy.

Getting Started

Before trying to run the code, please download the required dataset from here. The original dataset can be found here, but this is not necessary to run the code.

Download data folder to the same folder that contains src. The data folder contains the features extracted from the original data. The extracted features can be calculated from the original data by running the files 1_original_data_to_csv.py, 2_generate_eeg_data.py, 3_generate_feature_data.py. If the features have been obtained (either by downloading directly, or calculating from the original data), the optimisation procedure can be executed by running the file 4_optimise_itr.py.

Contact

For additional information, feel free to contact Anti Ingel (antiingel@gmail.com).

About

Direct ITR optimisation for SSVEP-based BCI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0