Skip to content

Repository files navigation

BBCI Adaptive Dynamics Lab — Measure. Adapt. Test.

Explore how a brain–computer interface could adapt to a changing brain.
An interactive lab and reproducible research workspace for entropy-informed feedback.

Launch locally · Read the paper · Open the notebook · Explore the presentations · Hosted preview

Python 3.12 WebGL viewer Code: MIT license Exploratory research

A question worth testing

Brain signals change with context. Could a feedback system use both their activity and their predictability to make better adjustments—and know when its measurements stop being useful?

This project investigates that question in the context of future, person-specific autism neuromodulation research. It is a synthetic research model, not a demonstrated therapy or a model of a diagnosed autistic person.

Recorded synthetic brain activity and feedback input change through baseline, two disturbances, and washout.
Actual model output rendered on template anatomy. Illustrative populations and connections; no patient data.

Turn the assumptions into experiments

Explore What you can do
A brain in the loop Rotate the 3D cortex, inspect populations, and follow activity over time.
Feedback that adapts Compare six strategies, from no input to rate-plus-entropy control.
Conditions that matter Add measurement noise, delay, or an optional plasticity rule. See what breaks.
Evidence you can inspect Trace the equations, run the Python model, and examine the recorded results.

24 synthetic individuals · 1,296 evaluation runs · 22 cited papers

The central result is conditional: adding an entropy term to rate feedback improved tracking under clean measurements, but noise reversed that advantage. Task accuracy did not recover. Those limits are part of the finding—and a starting point for better experiments. See the results →

Run the lab

With Git and Python 3 installed:

git clone https://github.com/ProCO-RPHopkins/BBCI-Adaptive-Dynamics-Lab.git
cd BBCI-Adaptive-Dynamics-Lab
python -m http.server 8000 --bind 127.0.0.1 --directory lab/dist

Open localhost:8000. No npm installation or build step. The viewer, cortical geometry, and reference data are included. Use a browser with WebGL support.

View the hosted preview.

Run the Python benchmark or notebook

From the repository root, using Python 3.12:

python -m venv .venv
source .venv/bin/activate
# Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install -r research/requirements.txt
cd research
jupyter lab BBCI_Research_Notebook.ipynb

To reproduce the full study, run python run_experiments.py, then python validate.py and python make_figures.py from research/. These commands update the recorded outputs. The notebook runs its demonstration and displays the recorded aggregate study; it does not rerun all 1,296 evaluations.

See the research guide for calibration, dependencies, execution details, and limitations.

Follow your curiosity

Help move the research forward

Useful next contributions include realistic observation models, stronger comparison controllers, independent replication, and outcome design with autistic participants. Start a discussion in an issue with a question, reproducible finding, or proposed experiment.


Research by Ryan Hopkins, with disclosed AI assistance. The manuscript is a submission draft awaiting independent review. Cite this project · Provenance · Submission notes

Original code: MIT. Original research content: CC BY 4.0. Third-party materials retain their own terms; see rights and attribution.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages