Recording spikes and state variablesΒΆ
It is possible to record the times of action potentials, and the values of state variables, of any neuron in the network. Recording state variables of dynamic synapse models is not yet supported.
The classes Population
, PopulationView
and Assembly
all have a record()
method, which takes either a single variable name or
a list/tuple of such names, and which sets up recording of the requested variables
for all neurons in the population:
>>> population.record(['v', 'spikes']) # record membrane potential and spikes from all neurons in the population
>>> assembly.record('spikes') # record spikes from all neurons in multiple populations
To record from only a subset of the neurons in a Population
, we create
a temporary PopulationView
using indexing or the sample()
method
and call record()
on this view:
>>> population.sample(10).record('v') # record membrane potential from 10 neurons chosen at random
>>> population[[0,1,2]].record(['v', 'gsyn_exc', 'gsyn_inh']) # record several variables from specific neurons
To find out what variable names are available for a given neuron model, inspect
the recordable
attribute of the population’s celltype
attribute:
>>> population.celltype
EIF_cond_alpha_isfa_ista(<parameters>)
>>> population.celltype.recordable
['spikes', 'v', 'w', 'gsyn_exc', 'gsyn_inh']
By default, variables are recorded at every time step. It is possible to record at a lower frequency using the
sampling_interval
argument, e.g.:
>>> population.record(None) # reset recording for this population
>>> population.record('v', sampling_interval=1.0)
You should ensure that the sampling interval is an integer multiple of the simulation time step. Other values may work, but have not been tested.
An alternative syntax is available, using the top-level record()
function:
>>> record(['v', 'spikes'], population, filename="output_data.pkl", sampling_interval=1.0)
This avoids having to call population.write_data()
at the end of the simulation; the data
will be automatically written to the specified filename.