spike_recorder – Collecting spikes from neurons


The most universal collector device is the spike_recorder, which collects and records all spikes it receives from neurons that are connected to it. Each spike received by the spike recorder is immediately handed over to the selected recording backend for further processing.

Any node from which spikes are to be recorded, must be connected to the spike recorder using the standard Connect command. The connection weights and delays are ignored by the spike recorder, which means that the spike recorder records the time of spike creation rather than that of their arrival.

>>> neurons = nest.Create('iaf_psc_alpha', 5)
>>> sr = nest.Create('spike_recorder')
>>> nest.Connect(neurons, sr)

The call to Connect will fail if the connection direction is reversed (i.e., connecting sr to neurons).

Recording time window

The time span during which the recorder actively records can be specified using the properties start and stop. These define the recording period of the device in ms. An additional property origin allows to shift the recording window by a certain time, which can be useful in experimental protocols with repeated simulations. Please note that events with timestamp t = start are not recorded.

Data handling

All recorded data is handed over to the recording backend, selected via the record_to property. More details on available backends and their properties can be found in the guide to recording from simulations.

Recorder properties


A string (default: “”) specifying an arbitrary textual label for the device. Recording backends might use the label to generate device specific identifiers like filenames and such.


The number of events that were collected by the recorder can be read out of the n_events entry. The number of events can be reset to 0. Other values cannot be set.


A positive floating point number (default : 0.0) used as the reference time in ms for start and stop.


A string (default: “memory”) containing the name of the recording backend where to write data to. An empty string turns all recording of individual events off.


A positive floating point number (default: 0.0) specifying the activation time in ms, relative to origin.


A floating point number (default: infinity) specifying the deactivation time in ms, relative to origin. The value of stop must be greater than or equal to start.

See also

Device, Recorder, Spike