To install a module, take its name from the left-hand side of the below table and then enter these commands in the terminal.

$ git clone
$ make
$ sudo make install


matlab-toolsFork Matlab Tools Analysis Tools MATLAB scripts for analysis of data acquired using RTXI. The file contains several functions for loading data from an HDF file and it within MATLAB. Example use of the scripts is in a file called example.m. Load it and edit it as you need. Make sure the PATH variable is set to include the analysis-tools directory. Also, the data given to the scripts NEED to have PARAMETER-type variables defined.
neuronThis is the classic Hodgkin-Huxley model neuron. For best results, make sure your rate of integration is a multiple of your real-time period (or vice versa).
connor-stevensThe Connor Stevens model neuron is like the Hodgkin-Huxley neuron, but with slightly different kinetics for the fast sodium and potassium delayed-rectifier channels and an additional A-type potassium channel (Dayan and Abbott, Theoretical Neuroscience, Ch. 6). These changes give the Connor Stevens neuron Type I excitability such that it can achieve arbitrarily low spike rates. This feature may make this model more useful for testing custom modules than the Hodgkin-Huxley model neuron.
plugin-templateThis is the plugin template, also known in previous versions as MyPluginGUI. It is designed to provide a simplified interface with which anyone fork into custom RTXI modules. For instructions and tutorials regarding its use, see the documentation on our website.
auto-piThis module controls the Intespike interval (ISI) of a neuron using a Proportional Integral controller. The model automatically tunes the PI controller parameters to the neuron. The goal of the PI controller is to make small changes in current at each action potential onset to maintain the neuron at a target firing rate. This spike rate controller is designed to offset drift in the firing rate on the order of 10s of seconds to minutes. This module requires input from the “Spike Detector” mo...
autapseFork Autapse autapse
current-clampThis plugin allows you to deliver a protocol for current step or current ramp inputs. You can randomize the order of amplitudes used and repeat the entire protocol a certain number of times. For current step inputs, you can also choose to plot the f-I curve as it is generated. For each complete cycle through all the command currents, the plot symbol will change. The firing rate is computed by taking the reciprocal of the average ISI detected during a command input. Plotting the f-I curve wi...
camera-controlAdequate description pending. The precise purpose of this module is currently undetermined. It presumably interfaces with a voltage-contolled lamp and sets parameters regarding image acquisition, such as frame rate, delays, etc.
dynamic-clamp-fileThis module applies a conductance waveform that has already been saved in ASCII format. It uses the current real-time period to determine the length of the trial, sampling one row from the ASCII file at each time step. If you use it with the Spike Detector module, you can view a raster plot in real-time of spike times for each trial. Simply use the connector module to send the command signals from the spike detector to the spike state channel in this module.
electric-synapseCreates a simulated connection, or 'synapse,' between two cells. The module takes in voltage signals from two cells and outputs currents based on the voltage difference and user-specified conductance.
fir-windowThis module creates an in-line FIR filter that can be applied to any signal in RTXI. Given the desired number of filter taps (filter order + 1), it computes the impulse response for a lowpass, highpass, bandpass, or bandstop filter using the window method. For a lowpass or highpass filter, the module uses the first frequency as the cut-off frequency. For a bandpass or bandstop filter, both input frequencies are used to define the frequency band. The module initially computes an ideal FIR fi...
gen-netThis plugin implements a framework for Hybrid Network experiments. Hybrid networks entail the coupling of biological circuit elements with simulated ones. Hybrid Network experiments have been historically hindered by the difficulty of implementing the network. This software package aims to address this problem by providing tools that allow for the automatic setup of the simulated portion of the network and by automating integration of biological neurons with simulated neurons.
g-waveformThis module takes an external ASCII formatted file as input. The file should have four columns with units in Amps and Siemens: absolute_current AMPA GABA (NMDA) There should be one value for each time step and the total length of the stimulus is determined by using the real-time period specified in the System->Control Panel. If you change the real-time period, the length of the trial is recomputed. This module automatically pauses itself when the protocol is complete. If you are using ...
hfacThis module implements a protocol for performing conduction block experiments on nerve fibers using high frequency AC current (HFAC) stimuli. Action potentials in the nerve are evoked with a single biphase square pulse and the HFAC signal is a sinusoidal waveform. You have an option to select which component of the biphase pulse occurs first. The “Single AP Stim” button is used to send a single pulse that can be used to elicit individual responses. The “Enable HFAC” toggle button can be use...
i-cellModule for a current-clamped cell. Uses a simple Runge-Kutta solver to compute voltages based on a model of unknown identity and unknown parameters.
iir-filterThis module computes coefficients for three types of filters. They require the following parameters: Butterworth: passband edge Chebyshev: passband ripple, passband edge Elliptical: passband ripple, stopband ripple, passband edge, stopband edge You may save the computed coefficients and the filter’s parameters to a file. The Butterworth filter is the best compromise between attenuation and phase response. It has no ripple in the pass band or the stop band, and because of this is someti...
current-scale-dclampThis module is used to inject artificial conductances into a guinea pig cardiomyocytes through dynamic current clamp. An embedded guinea pig ventricular cardiomyocyte model is voltage clamped to the membrane potential of a patch clamped cardiomyocyte. Using one of the calculated currents of the model, an artificial current is scaled and injected into the patch clamped cell. This allows for artificial block or increase of a particular current through dynamic clamp. Currently, the Livshitz Ru...
current-holdThis module outputs a static value set by the user. Nothing else. This is an extremely simple module.
current-rampOutputs a current ramp to the cell. The duration of the ramp (rise and fall) is set via the Time parameter, along with the starting and peak current for the ramp. The module, when the "RAMP!!!" button is pressed, will initiate the ramp. If the "Record data" checkbox is set and the data recorder is already open and ready to write channels to a file, starting the ramp will also record data for its duration. If the module is unpaused and a ramp button is inactive, then it s...
current-stepThis plugin allows you to deliver a series of current step commands.
phase-response-curveThis module applies an alpha-shaped conductance to the cell at a fixed delay after 10 interspike intervals (ISI). It computes an intrinsic period P0 by averaging the most recent 5 of 10 ISIs. Thus, the value of P0 can change over time. The period after the perturbed period is designated as P1 and the period following P1 is designated as P2. The first and second order PRCs are computed as PRC1=(P1-P0)/P0 and PRC2=(P2-P0)/P0. By this convention, a delay in the spike yield a positive value and...
spike-triggered-averageSTA: This plug-in computes an event-triggered average of the input signal. The event trigger should provide a value of 1. The averaged signal will update periodically. Click and drag on the plot to resize the axes.
single-traceThis module records a single trace and nothing more. This module will be deprecated. Use the sync module along with the data recorder to record fixed intervals.
spike-detectorThis module uses a simple threshold to detect spikes. The cell can be in one of 5 states: 0: Looking for voltage to cross above threshold; 1: Cell has crossed threshold going up; 2: Cell is above threshold; 3: Cell is crossing threshold going down 4: Depolarization block. cell has been above threshold for more than 100ms. -1: Reset state. Will reset if cell hasn’t spike since the minimum interval In addition, you can set a refractory period, the minimum interval that must go by before an...
spike-rate-controlThis module is designed to stabilize spike rates around a user-specified ISI. It reads in the spike state of a connected spike detector module and, depending on the state of the detector and the specified ISI, outputs a current. The amplitude is determined by comparing the error between real ISI and the target. When error oscillates around the target, output is small, but when error increases, the output increases in amplitude.
spike-statisticsThis module contains a spike detector based on a positive threshold crossing (see SpikeDetect module). It computes the average ISI and the current coefficient of variation. These values are continuously updated with each spike until the statistics are reset with the button.
ttl-pulsesThis module generates a train of TTL pulses (0-5 V square wave). It can be connected to either an analog or digital output channel to trigger external hardware. You should check the voltage range of your DAQ card to make sure that it can handle 0-5 V.
alpha-synapseThis module creates an artificial synapse where the fixed conductance change is described by an alpha function. This conductance is triggered by an event indicated by a value of “1″ on input(1). This can be used to generate a spike-triggered synaptic connection using the Spike Detector module. Use the connector module to connect the spike state output of the spike detector to the spike state input of this one.
couplingThis module reciprocally couples two neurons with alpha synapses. It requires the membrane potential of both cells and the inputs from two spike detector modules (eg. Spike Detect). It outputs the two synaptic currents which must then be appropriately connected. This module can be used to couple two biological neurons or one biological neuron with a model neuron. To couple the neurons, the module should be unpaused, then the “Couple Neurons” toggle button can be activated/deactivated. This ...
h-currentThis program simulates the current caused by an H current in the cell. The parameters are taken from Dickson, Magistretti, Shalinsky, Fransen, Hasselmo and Alonso, Properties and Role of Ih in the pacing of subthreshold oscillations in entorhinal cortex layer II Neurons, J. Neurophysiol. 83:2562-2579, 2000.
k-currentThis module presents an example of a potassium ion channel where I = G_K_max*a^3*b*(Vm-E_K).
signal-generatorThis module generates the following signals: 1. Sine Wave: needs frequency and amplitude 2. Monophasic Square Wave: needs delay, width, and amplitude 3. Biphasic Square Wave: needs delay, width, and amplitude 4. Sawtooth Wave: needs delay, width, and maximum amplitude 5. ZAP Stimulus: needs starting and ending frequencies, amplitude, and duration of ZAP All the signals are continuous except for the ZAP stimulus, which has a specified duration. Only the relevant parameters are used to gen...
kickThis module sends a single value as a trigger or “kick” to another module. It outputs a user-specified value when triggered and a value of 0 otherwise. It can be used to manually mark events that a user sees in the data. It’s value in the HDF5 file will then serve as an event flag. This module can also be used to manually test other modules that require a trigger (such as those accepting input from the Spike Detector module). This module only sends a single “kick” at the specified delay aft...
mimic-signalCopies an input signal and outputs another with optional user-specified scaled gain or offset.
noise-generatorNoise Generator: Generates noise of the type specified.
syncBEFORE RTXI 3.0.0 The Sync module lets you synchronize the starting and stopping of a set of loaded modules and the Data Recorder. These modules must be derived from DefaultGUIModel. For each module you want to synchronize, enter its ID number (the number found on the left-hand corner of each widget's titlebar) in the "Module IDs" field as a comma-delimited list. This version of Sync can take a comma with or without an additional space. When the modules are entered, hit "...
virtual-dendrite“Attaches” a cable to your cell through which synaptic inputs are “passed” before RTXI injects the resultant current into the recording site.
wang-buzsakiThe Wang-Buzsaki model uses the Hodgkin-Huxley formalism to describe a single-compartment neuron with sodium and potassium conductances. For the transient sodium current, the activation variable m is assumed fast and substituted by its steady-state function. Wang XJ, Buzsáki G (1996) Gamma oscillation by synaptic inhibition in a hippocampal interneuronal network model. J. Neurosci. 16: 6402–6413.
wave-makerThis module loads data from an ASCII formatted file. It samples one value from the the file on every time step and creates and generates an output signal. The module computes the time length of the waveform based on the current real-time period. This is an easy way to test your algorithms on pre-recorded data as if it were being acquired in real-time.
membrane-testGenerates a square wave pulse with amplitude equal to one of the user-set hold potentials. The first half is the resting potential plus the amplitude of the wave, and the second half is just the resting potential. Using current input gained while the pulse is running, the module can calculate the membrane resistance (Simple option) or multiple resistance and capacitance (Detailed option)
genicam-cameraFork Genicam Camera GenICam Module Requirements: See and Limitations: non-real-time Module for controlling cameras that the use the open GenICam standard. Currently a work in progress. Will include: [x] Video/image capture [x] Events to trigger capture from other modules (non-real time) [x] Camera controls (setting gain, exposure time, etc.) [ ] Support loadable plugins for image processing [ ] Support Real-Time Events handling To install the module,...
nap-currentThis module creates a persistent sodium conductance with the option of adding stochastic or deterministic noise.
axon-multiclamp700Amplifier control module to compensate for scaling properties of the Axon Multiclamp 700 controller. This module essentially acts as an interface that augments the system control panel. Rather than manually set the gains on each channel, you can use this module to set them with a few button clicks instead.
axon-axopatch200Amplifier control module to compensate for scaling properties of the Axon AxoPatch 200 controller. This module essentially acts as an interface that augments the control panel in that it allows you to set input/output gains with a few button clicks instead of manually entering every value.
am-amp2400Controls the AM Amp 2400 amplifier by scaling the gains on the analog input/output channels and sending a mode telegraph to set the amplifier mode (custom). Also enables scaling of custom AO offsets based on the gains of the selected amplifier mode.
axon-axopatch1DAmplifier control module to compensate for scaling properties of the Axon AxoPatch 1D controller. This module essentially acts as an interface that replicated functionality of the control panel, but in a manner specific to the controller's own functionality.
clamp-protocolUse this module to create and run custom clamp protocols. There are three components to the module: 1. The main window 2. The protocol editor 3. The protocol window The main window opens and runs user-defined protocols. The editor is a widget that uses the built-in protocol class to create current/voltage steps, trains, or ramps. The window overlays traces of responses to protocol stimulation.
meaFork Mea mea
arduinoAcquire data in RTXI from an Arduino. (Non-RT)
fiber-recruitment-curveThis is the plugin template, also known in previous versions as MyPluginGUI. It is designed to provide a simplified interface with which anyone can develop simple RTXI modules. For instructions and tutorials regarding its use, head to our tutorials wiki.
faber-rudyThe Faber-Rudy guinea pig cardiomyocyte model. Scaling parameters in the UI allow you to tweak model parameters within RTXI without editing the source code and recompiling. Reference: Faber GM, Rudy Y. "Action potential and contractility changes in Na+i overloaded cardiac myocytes: a simulation study". Biophys J. 2000 May;78(5):2392-404. Livshitz LM, Rudy Y. "Uniqueness and stability of action potential models during rest, pacing, and conduction using problem-solving env...
livshitz-rudy2009 Luvshitz-Rudy model of a ventricular guinea pig myocyte. The model parameters are taken from a Matlab model generated by Eric Sobie.
daq_calibrationThis is a simple DAQ calibration utility for RTXI. For instructions on how to use this utility, check out the documentation (coming soon...).
rectifierRectifier:QWhatsThis description.
event-counterEvent Counter:Event counter for analog and digital signals with configurable windows, event intervals, and threshold.
impedance-evalImpedanceEval:QWhatsThis description.
analysis-moduleAnalysis ToolsView HDF data recorded by the data recorder. Simply open the file in the File Control Menu and click specific channels in the HDF5 Viewer list. Under 'Plotting Options,' you can change from view from time series to an FFT. To zoom in to the plot, use the mouse to click-and-drag an area. Plots can be saved to PDF (via the Plot button), and data used in the plot (both x and y axis) can be saved to a text file (via the Export button)
serial-commControl serial interface devices through RTXI. Commands must be configured by the user for the specific instrument being controlled.
rtxi_module_kernikFork Rtxi_module_kernik kernik-dclamp Dynamic Clamp Implementation of Kernik19
qtgraphFork Qtgraph qtgraph This is a simple project for testing RTXI capabilities in display control. Eventually this may turn into a plugin Building and installing All commands should be run from the root directory. run the following command for building to install dependencies: ./scripts/ then build the sample app with the command: ./scripts/ finally run the app with this command: ./scripts/