Open-source, hard real-time, closed-loop (< 1ms) stimulation and acquisition
for intracellular and extracellular electrophysiology.
RTXI, the Real-Time eXperiment Interface, is a hard real-time data acquisition and controls application for use in a biological research. At the core of RTXI is a real-time operating system, based on the Linux kernel, that provides deterministic control for experiments. The entire project, from the operating system to the drivers for the data acquisition card, is fast, free, and open-source. RTXI is currently used in labs all over to world to probe diverse, technologically challenging problems, such as dynamic probing of ion-channel function, control of cardiac arrhythmia dynamics, and control of deep-brain stimulation patterns.
RTXI is funded by the NIH and has been for the past 10 years. We have a dedicated team for software support and development, and we work closely with current and potential users to expand RTXI's features and applications.
Experimentalists' ability to perturb biological systems has traditionally been limited to rigid pre-programmed protocols or more flexible, albeit reflex-constrained, operator-controlled protocols. In contrast, real-time control allows dynamic probing of biological systems by parameter perturbations calculated from instantaneous system measurements. With it, researchers can address diverse unanswered questions that are not amenable to traditional approaches.
Unfortunately, real-time control is not possible with standard operating systems and software. Furthermore, commercial real-time systems are costly and often designed for industrial applications, and the proprietary software licenses and drivers that come with them only exacerbate the issue. To get away from that, we developed RTXI. It's fast, free, and flexible, and it's compatible with a wide range of experimentation hardware.
It has a simple interface.
RTXI is built using the Qt UI framework. It provides built-in modules for plotting signals, recording data streams, benchmarking the performance of your system, and configuring I/O from your DAQ.
Sub-millisecond closed-loop control.
It enables hard real-time, closed loop stimulation with I/O latencies under 1ms. Guaranteed. The figure on the right shows a typical kernel latency test performed under a heavy processing load (8-16 channels I/O, custom modules, and file I/O).
RTXI is compatible with many National Instruments (NI) data acquisition cards (DAQs) along with the PuggleBoard. It can read, write, and stimulate across multiple channels, all in real-time.
You can use RTXI for running things as complex as hybrid networks, dynamic clamp, and multichannel closed-loop stimulation and as simple as plain data recording...and expect support for asynchronous acquisition for up to 64 channels soon!
It's free and open source.
RTXI is built on a modified version of the Linux operating system (OS). The base system uses Ubuntu GNOME 14.04 LTS, and the real-time component comes from the Xenomai project. It modifies the standard OS so that it can function as a real-time controller, something generic operating systems don't do.
The RTXI application is also open-source. We use GitHub to host all our source code and document development. It also doubles as a forum for users to report issues, submit code, and post feature requests.
It's modular by design.
RTXI already implements the heavy coding needed to run applications in real-time. It's modular architecture lets users implement custom functionality as modules that can then be loaded into RTXI and run in real time.
All modules are written in C++ and use the Qt UI framework. We provide already-developed modules on our website and tutorials for customizing them. Users are free to fork whatever existing code to suit their experimental needs.
Head over to our website at http://rtxi.org.
- Download our RTXI live CD. You can use it to install RTXI in your hard drive while preserving existing operating systems. You can also just use it to demo RTXI to get a feel for how it works without affecting your hardware.
- Look through our documentation. We have tutorials for installing real-time operating systems, building RTXI from source, modules, benchmarking, troubleshooting, etc.
- Get in contact with us. Post a message on our GitHub repository (GitHub account required) if you have any questions/concerns. You can also contact us via email. We've got a mailing list and an RSS feed, too!