agencyenterprise / neural-data-simulator

Electrophysiology data simulator for developing brain-computer interfaces
https://agencyenterprise.github.io/neural-data-simulator/
Apache License 2.0
71 stars 7 forks source link

Neural Data Simulator

Linting Tests

The Neural Data Simulator is a real-time system for generating electrophysiology data from behavioral data (e.g. cursor movement, arm kinematics, etc) in real-time. The NDS system can be used to test and validate closed-loop brain-computer interface systems without the need for a human in the loop, generate synthetic data for algorithm optimization, and provide a platform on which to develop BCI decoders.

Documentation

See the documentation for a complete system overview, installation instructions, and API details.

Architecture

Installation

Ensure that Python >=3.9 and <3.12 is installed. Then, proceed to install LSL:

# on Linux/WSL
conda install -c conda-forge liblsl

# on macOS
brew install labstreaminglayer/tap/lsl

# on Windows
# should be installed automatically by pip when installing NDS

Install the NDS package with the included examples and utilities via pip:

pip install "neural-data-simulator[extras]"

Quick start

Run the following scripts:

nds_post_install_config
run_closed_loop

quick-start

NOTE: You might need to give permissions like network access when running the scripts.