Bonsai: an event-based framework for processing and controlling data streams

The design of modern scientific experiments requires the control and monitoring of many different data streams. However, the serial execution of programming instructions in a computer makes it a challenge to develop software that can deal with the asynchronous, parallel nature of scientific data. Here we present Bonsai, a modular, high-performance, open-source visual programming framework for the acquisition and online processing of data streams. We describe Bonsai's core principles and architecture and demonstrate how it allows for the rapid and flexible prototyping of integrated experimental designs in neuroscience. We specifically highlight some applications that require the combination of many different hardware and software components, including video tracking of behavior, electrophysiology and closed-loop control of stimulation.

[1]  Joseph J. Paton,et al.  Ongoing behavior predicts perceptual report of interval duration , 2014, Front. Neurorobot..

[2]  Ali Momeni,et al.  OpenSound Control: State of the Art 2003 , 2003, NIME.

[3]  Nagisa Ishiura,et al.  Model Based Parallelization from the Simulink Models and Their Sequential C Code , 2012 .

[4]  Z. Mainen,et al.  Balanced activity in basal ganglia projection pathways is critical for contraversive movements , 2014, Nature Communications.

[5]  Hirokazu Kato,et al.  Marker tracking and HMD calibration for a video-based augmented reality conferencing system , 1999, Proceedings 2nd IEEE and ACM International Workshop on Augmented Reality (IWAR'99).

[6]  Michael H. Dickinson,et al.  Automated monitoring and quantitative analysis of feeding behaviour in Drosophila , 2014, Nature Communications.

[7]  Jefferson Y. Han Low-cost multi-touch sensing through frustrated total internal reflection , 2005, UIST.

[8]  Steve Cook,et al.  Domain-Specific Development with Visual Studio DSL Tools , 2007 .

[9]  Francisco José Madrid-Cuevas,et al.  Automatic generation and detection of highly reliable fiducial markers under occlusion , 2014, Pattern Recognit..

[10]  Marco Porta,et al.  Iteration constructs in data-flow visual programming languages , 2000, Comput. Lang..

[11]  Richard Hansen,et al.  National Instruments LabVIEW: A Programming Environment for Laboratory Automation and Measurement , 2007 .

[12]  Wolfgang De Meuter,et al.  A survey on reactive programming , 2013, CSUR.