EventMonitor class¶
(Shortest import: from brian2 import EventMonitor)
- class brian2.monitors.spikemonitor.EventMonitor(*args, **kw)[source]¶
Bases:
Group,CodeRunnerRecord events from a
NeuronGroupor another event source.The recorded events can be accessed in various ways: the attributes
iandtstore all the indices and event times, respectively. Alternatively, you can get a dictionary mapping neuron indices to event trains, by calling theevent_trainsmethod.- Parameters
source :
NeuronGroup,SpikeSourceThe source of events to record.
event : str
The name of the event to record
variables : str or sequence of str, optional
Which variables to record at the time of the event (in addition to the index of the neuron). Can be the name of a variable or a list of names.
record : bool, optional
Whether or not to record each event in
iandt(thecountwill always be recorded). Defaults toTrue.when : str, optional
When to record the events, by default records events in the same slot where the event is emitted. See Scheduling for possible values.
order : int, optional
The priority of of this group for operations occurring at the same time step and in the same scheduling slot. Defaults to the order where the event is emitted + 1, i.e. it will be recorded directly afterwards.
name : str, optional
A unique name for the object, otherwise will use
source.name+'_eventmonitor_0', etc.codeobj_class : class, optional
The
CodeObjectclass to run code with.
See also
Attributes
The array of event counts (length = size of target group)
The event that we are listening to
Returns the pair (
i,t).Returns the pair (
i,t_).Returns the total number of recorded events.
Whether to record times and indices of events
The additional variables that will be recorded
The source we are recording from
Methods
Return a dictionary mapping recorded variable names (including
t) to a dictionary mapping neuron indices to arrays of variable values at the time of the events (sorted by time).Return a dictionary mapping neuron indices to arrays of event times.
reinit()Clears all recorded spikes
resize(new_size)values(var)Return a dictionary mapping neuron indices to arrays of variable values at the time of the events (sorted by time).
Details
- count¶
The array of event counts (length = size of target group)
- event¶
The event that we are listening to
- it¶
Returns the pair (
i,t).
- it_¶
Returns the pair (
i,t_).
- num_events¶
Returns the total number of recorded events.
- record¶
Whether to record times and indices of events
- record_variables¶
The additional variables that will be recorded
- source¶
The source we are recording from
- all_values()[source]¶
Return a dictionary mapping recorded variable names (including
t) to a dictionary mapping neuron indices to arrays of variable values at the time of the events (sorted by time). This is equivalent to (but more efficient than) callingvaluesfor each variable and storing the result in a dictionary.- Returns
all_values : dict
Dictionary mapping variable names to dictionaries which themselves are mapping neuron indicies to arrays of variable values at the time of the events.
Examples
>>> from brian2 import * >>> G = NeuronGroup(2, '''counter1 : integer ... counter2 : integer ... max_value : integer''', ... threshold='counter1 >= max_value', ... reset='counter1 = 0') >>> G.run_regularly('counter1 += 1; counter2 += 1') CodeRunner(...) >>> G.max_value = [50, 100] >>> mon = EventMonitor(G, event='spike', variables='counter2') >>> run(10*ms) >>> all_values = mon.all_values() >>> print(all_values['counter2'][0]) [ 50 100] >>> print(all_values['t'][1]) [ 9.9] ms
- event_trains()[source]¶
Return a dictionary mapping neuron indices to arrays of event times. Equivalent to calling
values('t').- Returns
event_trains : dict
Dictionary that stores an array with the event times for each neuron index.
See also
- values(var)[source]¶
Return a dictionary mapping neuron indices to arrays of variable values at the time of the events (sorted by time).
- Parameters
var : str
The name of the variable.
- Returns
values : dict
Dictionary mapping each neuron index to an array of variable values at the time of the events
Examples
>>> from brian2 import * >>> G = NeuronGroup(2, '''counter1 : integer ... counter2 : integer ... max_value : integer''', ... threshold='counter1 >= max_value', ... reset='counter1 = 0') >>> G.run_regularly('counter1 += 1; counter2 += 1') CodeRunner(...) >>> G.max_value = [50, 100] >>> mon = EventMonitor(G, event='spike', variables='counter2') >>> run(10*ms) >>> counter2_values = mon.values('counter2') >>> print(counter2_values[0]) [ 50 100] >>> print(counter2_values[1]) [100]
Tutorials and examples using this¶
Example advanced/custom_events