pynn_brainscales.brainscales2.projections.Projection

class pynn_brainscales.brainscales2.projections.Projection(presynaptic_neurons, postsynaptic_neurons, connector, synapse_type=None, source=None, receptor_type=None, space=<pyNN.space.Space object>, label=None)

Bases: pyNN.common.projections.Projection, pygrenade_vx.network.abstract.frontend.ExperimentElement

__init__(presynaptic_neurons, postsynaptic_neurons, connector, synapse_type=None, source=None, receptor_type=None, space=<pyNN.space.Space object>, label=None)

Create a new projection, connecting the pre- and post-synaptic neurons.

Parameters
  • presynaptic_neurons – Population, PopulationView or Assembly object.

  • postsynaptic_neurons – Population, PopulationView or Assembly object.

  • connector – a Connector object, encapsulating the algorithm to use for connecting the neurons.

  • synapse_type – a SynapseType object specifying which synaptic connection mechanisms to use, defaults to None

  • source – string specifying which attribute of the presynaptic cell signals action potentials. This is only needed for multicompartmental cells with branching axons or dendrodendritic synapses. All standard cells have a single source, and this is the default, defaults to None

  • receptor_type – string specifying which synaptic receptor_type type on the postsynaptic cell to connect to. For standard cells, this can be ‘excitatory’ or ‘inhibitory’. For non-standard cells, it could be ‘NMDA’, etc. If receptor_type is not given, the default values of ‘excitatory’ is used, defaults to None

  • space – Space object, determining how distances should be calculated for distance-dependent wiring schemes or parameter values, defaults to Space()

  • label – a name for the projection (one will be auto-generated if this is not supplied), defaults to None

Methods

__init__(presynaptic_neurons, …[, …])

Create a new projection, connecting the pre- and post-synaptic neurons.

add_to_input_data(experiment, …)

Add element to experiment snippet’s input data.

add_to_topology(experiment)

Add element to experiment snippet’s topology.

extract_output_data(experiment)

Extract output data of element from experiment snippet.

get_data(observable)

Get data for an observable per synapse.

Attributes

placed_connections

Query the last routing run for placement of this projection.

add_to_input_data(experiment: pygrenade_vx.network.abstract.frontend.ExperimentSnippet, snippet_begin_time: float, snippet_end_time: float)

Add element to experiment snippet’s input data.

If the snippet doesn’t contain the element yet, it is added. If it is already contained it is updated, if changed_input_data is True. The method is called after mapping is available.

Parameters
  • experiment – Experiment snippet for which to add this element into the snippet’s input data

  • snippet_begin_time – Time at which the snippet begins

  • snippet_end_time – Time at which the snippet ends

add_to_topology(experiment: pygrenade_vx.network.abstract.frontend.ExperimentSnippet)

Add element to experiment snippet’s topology.

If the snippet doesn’t contain the element yet, it is added. If it is already contained it is updated, if changed_topology is True. This method is called before the potential mapping operation.

Parameters

experiment – Experiment snippet for which to add this element into the snippet’s topology

Returns

Whether the element was added to the topology. The experiment doesn’t track interdependencies defining the order in which the elements can be added to the topology. Therefore this method is expected to perform the check whether the element can be added or updated, in which case the return value is expected to be True.

extract_output_data(experiment)

Extract output data of element from experiment snippet. This method is called after execution of the experiment. Storage in the front end format is to be performed by the front end.

Parameters

experiment – Experiment snippet from which to extract this element’s output data

get_data(observable: str)

Get data for an observable per synapse.

Parameters

observable – Name of observable.

Returns

Array with recorded data. The array’s entries are values for each timer entry. Each value has a .data attribute, containing the recorded data.

Raises

RuntimeError – If observable name is not known or the projection does not implement a plasticity rule.

property placed_connections

Query the last routing run for placement of this projection.