Documentation for Falcon

Falcon is a software for real-time processing of neural signals to enable short-latency closed-loop feedback in experiments that try to causally link neural activity to behavior. Example use cases are the detection of hippocampal ripple oscillations or online decoding and detection of hippocampal replay patterns.

High-Level overview

At its core, Falcon executes a user-defined data flow graph that consists of multiple connected nodes (processors) that perform computations on one or more streams of input data and produce one or more streams of output data. Some types of processors produce output data without accepting input data (sources), whereas other types of processors consume input data without produce output data (sinks).

The data flow graph is specified in YAML text format and defines all the processor nodes and their interconnections. Falcon ships with a number of built-in processors that can be used to construct custom applications. Falcon can be easily extended with new kinds of processors, although this requires modern C++ programming skills (see Extending Falcon).

By design, Falcon software is only concerned with the execution of data flow graphs and it does not include a graphical user interface. Rather, separate client applications interact with a running Falcon instance through network communication. In this way, dedicated user interfaces may be built in any programming language for particular user applications (as determined by the data flow graph). A generic Python control client is shipped with Falcon (see Generic control app) and serves as an example for how to build a user interface.

Description of the falcon environment. Communication of the Falcon server with the different acquisition system (Neuralynx, Open-Ephys, datafile, Camera) in input and the output (arduino, digital hardware) while being controlled by a falcon client.

Work with Falcon

Install Falcon

Installation guides for a user , a docker installation or for a developer of Falcon.

User Guide

Practical step-by-step to run Falcon, setup a graph and configure the server for the first time.

Falcon Client

Install and use the Fklab Falcon Client or create your own client.

Develop Falcon

Developer’s guide

Overview of every components of Falcon-core:

Extending Falcon

Falcon can be extended with new set of processors and datatype. See how you can create your own.

Existing extensions

Name (readthedoc documentation)




source code



source code



source code

False (soon)

Reference API

Doxygen documentation automatically generated from the code.

Indices and tables

Complete table of contents

Search Page

Reporting bugs or Enhancement proposals