NeuronGroup class¶
(Shortest import: from brian2 import NeuronGroup)
-
class
brian2.groups.neurongroup.NeuronGroup(N, model, method=('linear', 'euler', 'heun'), threshold=None, reset=None, refractory=False, events=None, namespace=None, dtype=None, dt=None, clock=None, order=0, name='neurongroup*', codeobj_class=None)[source]¶ Bases:
brian2.groups.group.Group,brian2.core.spikesource.SpikeSourceA group of neurons.
Parameters: N : int
Number of neurons in the group.
model : (str,
Equations)The differential equations defining the group
method : (str, function), optional
The numerical integration method. Either a string with the name of a registered method (e.g. “euler”) or a function that receives an
Equationsobject and returns the corresponding abstract code. If no method is specified, a suitable method will be chosen automatically.threshold : str, optional
The condition which produces spikes. Should be a single line boolean expression.
reset : str, optional
The (possibly multi-line) string with the code to execute on reset.
refractory : {str,
Quantity}, optionalEither the length of the refractory period (e.g.
2*ms), a string expression that evaluates to the length of the refractory period after each spike (e.g.'(1 + rand())*ms'), or a string expression evaluating to a boolean value, given the condition under which the neuron stays refractory after a spike (e.g.'v > -20*mV')events : dict, optional
User-defined events in addition to the “spike” event defined by the
threshold. Has to be a mapping of strings (the event name) to strings (the condition) that will be checked.namespace: dict, optional :
A dictionary mapping variable/function names to the respective objects. If no
namespaceis given, the “implicit” namespace, consisting of the local and global namespace surrounding the creation of the class, is used.dtype : (
dtype,dict), optionalThe
numpy.dtypethat will be used to store the values, or a dictionary specifying the type for variable names. If a value is not provided for a variable (or no value is provided at all), the preference setting core.default_float_dtype is used.codeobj_class : class, optional
The
CodeObjectclass to run code with.dt :
Quantity, optionalThe time step to be used for the simulation. Cannot be combined with the
clockargument.clock :
Clock, optionalThe update clock to be used. If neither a clock, nor the
dtargument is specified, thedefaultclockwill be used.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 0.
name : str, optional
A unique name for the group, otherwise use
neurongroup_0, etc.Notes
NeuronGroupcontains aStateUpdater,ThresholderandResetter, and these are run at the ‘groups’, ‘thresholds’ and ‘resets’ slots (i.e. the values of theirwhenattribute take these values). Theorderattribute will be passed down to the contained objects but can be set individually by setting theorderattribute of thestate_updater,thresholderandresetterattributes, respectively.Attributes
_refractoryThe refractory condition or timespan event_codesCode that is triggered on events (e.g. eventsEvents supported by this group method_choiceThe state update method selected by the user namespaceThe group-specific namespace resetterReset neurons which have spiked (or perform arbitrary actions for spikesThe spikes returned by the most recent thresholding operation. state_updaterPerforms numerical integration step subexpression_updaterUpdate the “constant over a time step” subexpressions thresholderChecks the spike threshold (or abitrary user-defined events) user_equationsThe original equations as specified by the user (i.e. Methods
before_run([run_namespace])run_on_event(event, code[, when, order])Run code triggered by a custom-defined event (see NeuronGroupdocumentation for the specification of events).The createdResetterobject will be automatically added to the group, it therefore does not need to be added to the network manually.set_event_schedule(event[, when, order])Change the scheduling slot for checking the condition of an event. state(name[, use_units, level])Details
-
_refractory¶ The refractory condition or timespan
-
event_codes¶ Code that is triggered on events (e.g. reset)
-
events¶ Events supported by this group
-
method_choice¶ The state update method selected by the user
-
namespace¶ The group-specific namespace
-
resetter¶ Reset neurons which have spiked (or perform arbitrary actions for user-defined events)
-
spikes¶ The spikes returned by the most recent thresholding operation.
-
state_updater¶ Performs numerical integration step
-
subexpression_updater¶ Update the “constant over a time step” subexpressions
-
thresholder¶ Checks the spike threshold (or abitrary user-defined events)
-
user_equations¶ The original equations as specified by the user (i.e. without the multiplied
int(not_refractory)term for equations marked as(unless refractory))
-
run_on_event(event, code, when='after_resets', order=None)[source]¶ Run code triggered by a custom-defined event (see
NeuronGroupdocumentation for the specification of events).The createdResetterobject will be automatically added to the group, it therefore does not need to be added to the network manually. However, a reference to the object will be returned, which can be used to later remove it from the group or to set it to inactive.Parameters: event : str
The name of the event that should trigger the code
code : str
The code that should be executed
when : str, optional
The scheduling slot that should be used to execute the code. Defaults to
'after_resets'.order : int, optional
The order for operations in the same scheduling slot. Defaults to the order of the
NeuronGroup.Returns: obj :
ResetterA reference to the object that will be run.
-
set_event_schedule(event, when='after_thresholds', order=None)[source]¶ Change the scheduling slot for checking the condition of an event.
Parameters: event : str
The name of the event for which the scheduling should be changed
when : str, optional
The scheduling slot that should be used to check the condition. Defaults to
'after_thresholds'.order : int, optional
The order for operations in the same scheduling slot. Defaults to the order of the
NeuronGroup.
-
Tutorials and examples using this¶
- Tutorial 1-intro-to-brian-neurons
- Tutorial 2-intro-to-brian-synapses
- Example reliability
- Example CUBA
- Example IF_curve_Hodgkin_Huxley
- Example non_reliability
- Example adaptive_threshold
- Example phase_locking
- Example IF_curve_LIF
- Example COBAHH
- Example standalone/cuba_openmp
- Example standalone/STDP_standalone
- Example synapses/gapjunctions
- Example synapses/nonlinear
- Example synapses/synapses
- Example synapses/STDP
- Example synapses/jeffress
- Example synapses/state_variables
- Example synapses/spatial_connections
- Example synapses/licklider
- Example synapses/efficient_gaussian_connectivity
- Example frompapers/Diesmann_et_al_1999
- Example frompapers/Rothman_Manis_2003
- Example frompapers/Clopath_et_al_2010_no_homeostasis
- Example frompapers/Wang_Buszaki_1996
- Example frompapers/Brunel_Hakim_1999
- Example frompapers/Clopath_et_al_2010_homeostasis
- Example frompapers/Brette_Gerstner_2005
- Example frompapers/Vogels_et_al_2011
- Example frompapers/Rossant_et_al_2011bis
- Example frompapers/Sturzl_et_al_2000
- Example frompapers/Touboul_Brette_2008
- Example frompapers/Brette_2004
- Example frompapers/Brette_Guigon_2003
- Example frompapers/Kremer_et_al_2011_barrel_cortex
- Example advanced/opencv_movie
- Example advanced/stochastic_odes
- Example compartmental/bipolar_with_inputs
- Example compartmental/bipolar_with_inputs2
- Example compartmental/lfp