relacs (pronounced "relax!")
is a software platform for closed-loop data acquisition,
online analysis, and stimulus generation specifically
designed for (but not limited
to) electrophysiological recordings.
relacs is
free and open software
to foster development and exchange of innovative
experimental protocols and analysis techniques.
Overview
The main reason for developing relacs
was to create a platform for implementing
relacs offers many more
features, that sets it apart from other data acquisition software:
In addition, relacs provides:
We are using this program very succesfully in our lab for many years
(see list of publications).
Specifications
- Open source
-
relacs is programmed in C++:
- 231 header files
- 231 C++ source code files
- altogether 206 354 lines of code and inline documentation
(127 735 lines for the relacs-core,
78 619 lines for plugins)
-
relacs is published under the
GPL.
More ...
-
relacs uses
Qt4 for the GUI and mutlithreading support,
Doxygen for inline documentation of the API, and
optionally GSL-GNU scientific library for some numerics.
Currently, only COMEDI based implementations of the
AnalogInput and
AnalogOutput plugins are provided
(see comedi plugins).
The dynamic-clamp feature is based on RTAI.
Note: For normal (no dynamic-clamp) streaming analog input and output, RTAI is NOT required!
- Sweep-based quasi-continuous acquisition
-
Stimulation (analog output) and data-recording (analog input)
are started simultaneously for each stimulus to ensure
best synchronization, but data are recorded all the time
and can be viewed continuously.
Depending on the hardware and the driver implementation
relacs is also able to start analog output
without interrupting the analog input stream
(e.g. the dynamic clamp plugins).
-
relacs has been designed initially
for up to about 10 input traces. More traces are possible,
but might require a different widget for showing the raw voltage
traces.
- Stimulation via analog output channels
-
The neuron (or whatever system) can be stimulated via the analog
output channels of the data acquisition boards with continuous
freely programmable waveforms. Depending on the hardware of your
experimental setup this can be, for example, a current injected
into the cell, a sound wave, an electric field, ...
- Seamless integration of attenuators
-
For adjusting the amplitude of a stimulus and still make use of the
full resolution of the data aquisition board one can use digitally
controlled attenuators. This is especially usefull for acoustic stimuli.
relacs uses two levels of abstraction
to support attenuators. First, the
Attenuator device interface provides
an interface to various attenuator device types.
Second, the Attenuate interface
translates an intensity variable to the appropriate attenuation level.
How the intensity variable is interpreted (e.g. as dB SPL or sound pressure)
depends on the implementation of the Attenuate interface
as well as on the corresponding calibration program.
This way, one requests a meaningful intensity for a stimulus
that is then automatically and hardware-independently translated
into an appropriate attenuation level.
News
- Version 0.9.8
-
- January, 2017
-
Support of NIX files.
Read all NEWS announcements.
|