1. BRAND: a platform for closed-loop experiments with deep network models
- Author
-
Ali, Yahia H, Bodkin, Kevin, Rigotti-Thompson, Mattia, Patel, Kushant, Card, Nicholas S, Bhaduri, Bareesh, Nason-Tomaszewski, Samuel R, Mifsud, Domenick M, Hou, Xianda, Nicolas, Claire, Allcroft, Shane, Hochberg, Leigh R, Yong, Nicholas Au, Stavisky, Sergey D, Miller, Lee E, Brandman, David M, and Pandarinath, Chethan
- Subjects
Engineering ,Biomedical and Clinical Sciences ,Neurosciences ,Biomedical Engineering ,Networking and Information Technology R&D (NITRD) ,Neurological ,Industry ,Innovation and Infrastructure ,Humans ,Neural Networks ,Computer ,Brain-Computer Interfaces ,brain-computer interface ,closed-loop ,artificial neural network ,real-time ,brain–computer interface ,Clinical Sciences ,Biomedical engineering - Abstract
Objective.Artificial neural networks (ANNs) are state-of-the-art tools for modeling and decoding neural activity, but deploying them in closed-loop experiments with tight timing constraints is challenging due to their limited support in existing real-time frameworks. Researchers need a platform that fully supports high-level languages for running ANNs (e.g. Python and Julia) while maintaining support for languages that are critical for low-latency data acquisition and processing (e.g. C and C++).Approach.To address these needs, we introduce the Backend for Realtime Asynchronous Neural Decoding (BRAND). BRAND comprises Linux processes, termednodes, which communicate with each other in agraphvia streams of data. Its asynchronous design allows for acquisition, control, and analysis to be executed in parallel on streams of data that may operate at different timescales. BRAND uses Redis, an in-memory database, to send data between nodes, which enables fast inter-process communication and supports 54 different programming languages. Thus, developers can easily deploy existing ANN models in BRAND with minimal implementation changes.Main results.In our tests, BRAND achieved
- Published
- 2024