/natKit

A utility for connecting to and processing data from BCI devices

Primary LanguagePythonMIT LicenseMIT

natKit

This is a collection of tools created to help jumpstart users on working with BCI hardware. By providing ways to connect, process, and visulize data from various peices of hardware.

Installation

Requirements

From Source

Clone the repository:

git clone https://github.com/neuralbertatech/natKit
cd natKit

Create a virtual environment to install the dependencies:

python -m venv <Environment-Name>  # For example  $ python -m venv .venv

Activate the virtual environment and install the dependencies (Platform-Specific):

MacOS and Linux

source ./<Environment-Name>/bin/activate  # source ./.venv/bin/activate
pip install -r requirements.txt

Windows (Powershell)

./<Environment-Name>/Scripts/Activate.ps1
pip install -r requirements.txt

Start the docker server:

docker compose up -d

Getting Started

Now to get started go to the bin/ folder and run some scripts, for example:

python ./bin/muse-2-producer.py &
python ./bin/stream-visulizer-gui.py

Additional Configuration

Docker Server

If your docker server is running on a remote machine (or a different port on the same machine), you can configure the connection parameters using the environment variables:

  • NATKIT_SERVER for the server address
  • NATKIT_SERVER_PORT for the server port

For example if you had the server running on a machine located at 192.168.0.12 on port 1234 you would set the environment variables with:

export NATKIT_SERVER="192.168.0.12"
export NATKIT_SERVER_PORT="1234"

(for windows)

$env:NATKIT_SERVER="192.168.0.12"
$env:NATKIT_SERVER_PORT="1234"

Troubleshooting

Execution Policy (Windows)

Run the following command from Powershell (with admin privaledges)

Set-ExecutionPolicy -ExecutionPolicy Unrestricted