Metadata-Version: 2.1
Name: bci-framework
Version: 1.0.dev5
Summary: A real-time tool for acquisition, analysis and stimuli delivery for OpenBCI.
Home-page: UNKNOWN
Author: Yeison Cardona
Author-email: yencardonaal@unal.edu.co
Maintainer: Yeison Cardona
Maintainer-email: yencardonaal@unal.edu.co
License: BSD-2-Clause
Download-URL: https://github.com/UN-GCPDS/bci_framework
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Healthcare Industry
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: simple-pid (>=1.0.0)
Requires-Dist: mne (>=0.22.1)
Requires-Dist: kafka-python (>=2.0.2)
Requires-Dist: tornado (>=6.1)
Requires-Dist: seaborn (>=0.11.1)
Requires-Dist: numpy (>=1.20.1)
Requires-Dist: matplotlib (>=3.4.1)
Requires-Dist: psutil (>=5.8.0)
Requires-Dist: cycler (>=0.10.0)
Requires-Dist: scipy (>=1.6.2)
Requires-Dist: qt-material (>=2.8)
Requires-Dist: browser (>=0.0.1)
Requires-Dist: figurestream (>=1.1)
Requires-Dist: gcpds (>=0.1a1)
Requires-Dist: openbci-stream (>=1.0.0rc3)
Requires-Dist: PySide2 (>=5.15.2)
Requires-Dist: radiant (>=3.1)

> Developed by [Yeison Nolberto Cardona Álvarez](https://github.com/yeisonCardona)  
> [Andrés Marino Álvarez Meza, PhD.](https://github.com/amalvarezme)  
> César Germán Castellanos Dominguez, PhD.  
> _Digital Signal Processing and Control Group_  | _Grupo de Control y Procesamiento Digital de Señales ([GCPDS](https://github.com/UN-GCPDS/))_  
> _National University of Colombia at Manizales_ | _Universidad Nacional de Colombia sede Manizales_

----

# BCI-Framework

A distributed processing tool, stimuli delivery, psychophysiological experiments designer and real-time data visualizations for OpenBCI.

![GitHub top language](https://img.shields.io/github/languages/top/un-gcpds/bci-framework)
![PyPI - License](https://img.shields.io/pypi/l/bci-framework)
![PyPI](https://img.shields.io/pypi/v/bci-framework)
![PyPI - Status](https://img.shields.io/pypi/status/bci-framework)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bci-framework)
![GitHub last commit](https://img.shields.io/github/last-commit/un-gcpds/bci-framework)
![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/UN-GCPDS/bci-framework)
[![Documentation Status](https://readthedocs.org/projects/bci-framework/badge/?version=latest)](https://bci-framework.readthedocs.io/en/latest/?badge=latest)

BCI-Framework is an open-source tool for the acquisition of EEG/EMG/ECG signals, it is developed to work with [OpenBCI's Cyton board](https://shop.openbci.com/products/cyton-biosensing-board-8-channel?variant=38958638542), the main core of this software lies on [OpenBCI-Stream](https://openbci-stream.readthedocs.io/en/latest/index.html), a library that has been designed to handle all the [low-level hardware features](https://docs.openbci.com/docs/02Cyton/CytonSDK) and extend the hardware capabilities with high-level programming libraries. An optionally distributed paradigm for data acquisition and streaming is available to be implemented, this approach stabilizes the sampling rate on non-real-time acquisition systems and consists on delegate the board handle to a dedicated environ and stream out the data in real-time. [Write custom visualization](70-develop_visualizations.ipynb) for raw or processed time series and [design custom neurophysiological experiments](80-stimuli_delivery.ipynb) are the mayor features available in this application.

BCI-Framework consists of a graphical user interface (GUI) with a set of individual computational processes (distributed or in a single machine), that feed a visualization, serve a stimuli delivery, handle an acquisition, storage data, or stream a previous one (offline analysis). It has a built-in development environment and a set of libraries that can be implemented by the user to create their specific functionality.

## Screenshots

![](https://github.com/UN-GCPDS/bci-framework/blob/master/docs/source/notebooks/images/readme.gif)


