relacs (pronounced "relax!")
is a software platform for 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++:
- 145 header files
- 155 C++ source code files
- Altogether 121919 lines of code and inline documentation
-
relacs is published under the
GPL.
More ...
- 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.
-
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 unique 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.
- Multi-threaded design
-
The acquisition of the data, filtering and spike detection, data analysis
and stimulus generation, and GUI interaction are running in parallel as
different threads. This way, relacs makes use
of the computing power of multi-processor machines and therefore pushes
the applicability of closed-loop algorithms to much larger data volumes,
as they are acquired from multi-unit recordings, for example.
News
- Version 0.9.6
-
- July, 2009
-
Introduced DigitalIO device interface and
got attenuator back into RELACS
Read all NEWS announcements.
|