PopulationRateMonitor class

(Shortest import: from brian2 import PopulationRateMonitor)

class brian2.monitors.ratemonitor.PopulationRateMonitor(source, name='ratemonitor*', codeobj_class=None)[source]

Bases: brian2.groups.group.Group, brian2.groups.group.CodeRunner

Record instantaneous firing rates, averaged across neurons from a NeuronGroup or other spike source.


source : (NeuronGroup, SpikeSource)

The source of spikes to record.

name : str, optional

A unique name for the object, otherwise will use source.name+'_ratemonitor_0', etc.

codeobj_class : class, optional

The CodeObject class to run code with.


Currently, this monitor can only monitor the instantaneous firing rates at each time step of the source clock. Any binning/smoothing of the firing rates has to be done manually afterwards.


source The group we are recording from


reinit() Clears all recorded rates
smooth_rate(self[, window, width]) Return a smooth version of the population rate.



The group we are recording from


Clears all recorded rates

smooth_rate(self, window='gaussian', width=None)

Return a smooth version of the population rate.


window : str, ndarray

The window to use for smoothing. Can be a string to chose a predefined window('flat' for a rectangular, and 'gaussian' for a Gaussian-shaped window). In this case the width of the window is determined by the width argument. Note that for the Gaussian window, the width parameter specifies the standard deviation of the Gaussian, the width of the actual window is 4*width + dt (rounded to the nearest dt). For the flat window, the width is rounded to the nearest odd multiple of dt to avoid shifting the rate in time. Alternatively, an arbitrary window can be given as a numpy array (with an odd number of elements). In this case, the width in units of time depends on the dt of the simulation, and no width argument can be specified. The given window will be automatically normalized to a sum of 1.

width : Quantity, optional

The width of the window in seconds (for a predefined window).


rate : Quantity

The population rate in Hz, smoothed with the given window. Note that the rates are smoothed and not re-binned, i.e. the length of the returned array is the same as the length of the rate attribute and can be plotted against the PopulationRateMonitor ‘s t attribute.

Tutorials and examples using this