Falcon: a highly flexible open-source software for closed-loop neuroscience

Falcon: a highly flexible open-source software for closed-loop neuroscience
复制标题

DOI:
10.1088/1741-2552/aa7526
复制
发表时间:
2017-08-01
影响因子:
4
通讯作者:
Kloosterman, Fabian
Kloosterman, Fabian
中科院分区:
工程技术2区
文献类型:
--
作者:
Ciliberti, Davide;Kloosterman, Fabian

文献摘要

被引文献

相似文献

Objective.闭环实验提供了对大脑动力学和功能的独特见解。为了促进广泛的闭环实验,我们创建了一个开源软件平台,可以对流式实验数据进行高性能实时处理。Approach.我们编写了Falcon,这是一个C++多线程软件,用户可以在其中加载和执行任意处理图。Falcon图的每个节点都映射到单个线程,节点之间通过线程安全的缓冲区进行通信。该框架允许轻松实现新的处理节点和数据类型。Falcon在32核和4核工作站上进行了测试。流数据从商业采集系统(Neuralynx)或开源Open Ephys硬件中读取,而闭环TTL脉冲由USB模块生成,用于数字输出。通过测试多达32个并行流水线和8个串行阶段的处理图,我们对基于Falcon的闭环系统的往返延迟以及软件架构的特定延迟贡献进行了表征。最后,我们将Falcon部署在一项任务中,即实时检测从自由移动的大鼠海马体中记录的种群爆发。主要结果。在Neuralynx硬件上,往返延迟远低于1 ms,并稳定至少1 h,而在Open Ephys硬件上,延迟低于15 ms。软件的延迟贡献低于0.5 ms。32核和4核工作站上的往返和软件延迟相似。Falcon成功地用于在线检测平均延迟为40 ms的群体爆发。意义Falcon是一款用于闭环神经科学的新型开源软件。它具有亚毫秒级的固有延迟,让实验者直接控制CPU资源。我们设想猎鹰是一个有用的工具,神经科学界实施各种各样的闭环实验,包括那些需要使用复杂的数据结构和实时执行的计算密集型算法,如人口神经解码/编码从大细胞组件。
Objective. Closed-loop experiments provide unique insights into brain dynamics and function. To facilitate a wide range of closed-loop experiments, we created an open-source software platform that enables high-performance real-time processing of streaming experimental data. Approach. We wrote Falcon, a C++ multi-threaded software in which the user can load and execute an arbitrary processing graph. Each node of a Falcon graph is mapped to a single thread and nodes communicate with each other through thread-safe buffers. The framework allows for easy implementation of new processing nodes and data types. Falcon was tested both on a 32-core and a 4-core workstation. Streaming data was read from either a commercial acquisition system (Neuralynx) or the open-source Open Ephys hardware, while closed-loop TTL pulses were generated with a USB module for digital output. We characterized the round-trip latency of our Falcon-based closed-loop system, as well as the specific latency contribution of the software architecture, by testing processing graphs with up to 32 parallel pipelines and eight serial stages. We finally deployed Falcon in a task of real-time detection of population bursts recorded live from the hippocampus of a freely moving rat. Main results. On Neuralynx hardware, round-trip latency was well below 1 ms and stable for at least 1 h, while on Open Ephys hardware latencies were below 15 ms. The latency contribution of the software was below 0.5 ms. Round-trip and software latencies were similar on both 32- and 4-core workstations. Falcon was used successfully to detect population bursts online with similar to 40 ms average latency. Significance. Falcon is a novel open-source software for closed-loop neuroscience. It has sub-millisecond intrinsic latency and gives the experimenter direct control of CPU resources. We envisage Falcon to be a useful tool to the neuroscientific community for implementing a wide variety of closed-loop experiments, including those requiring use of complex data structures and real-time execution of computationally intensive algorithms, such as population neural decoding/encoding from large cell assemblies.