Interconnectivity¶
-
class cell_connection¶
Describes a connection between two cells: a pre-synaptic source and a post-synaptic target. The source is typically a threshold detector on a cell or a spike source. The target is a synapse on the post-synaptic cell.
The
targetdoes not include the gid of a cell, this is because acell_connectionis bound to the target cell, which means that the gid is implicitly known.-
cell_global_label_type source¶
Source end point, represented by a
cell_global_label_typewhich packages a cell gid, label of a group of sources on the cell, and source selection policy.
-
cell_local_label_type target¶
Destination end point on the cell, represented by a
cell_local_label_typewhich packages a label of a group of targets on the cell and a selection policy. The target cell’s gid is implicitly known.
-
float weight¶
The weight delivered to the target synapse. The weight is dimensionless, and its interpretation is specific to the synapse type of the target. For example, the
expsynsynapse interprets it as a conductance with units μS (micro-Siemens).
-
units::quantity delay¶
Delay of the connection (milliseconds), must be positive and finite.
-
cell_global_label_type source¶
-
class ext_cell_connection¶
Describes a connection between two cells: a pre-synaptic source and a post-synaptic target. The source is typically a threshold detector on a cell or a spike source. The target is a synapse on the post-synaptic cell.
The
targetdoes not include the gid of a cell, this is because aext_cell_connectionis bound to the target cell, which means that thegidis implicitly known.-
cell_remote_label_type source¶
Source end point, comprising
global id, uniquely identifying the source object inside the remote simulation,
local id, uniquely identifying the location of the source on the source object,
selection policy, how to map sources
(gid, lid)to the targets in Arbor.
Note
The tuple
(gid, lid)must be unique for each source. This addressing scheme follows Arbor’s model of multiple sources (threshold detectors) per cell. If the remote simulation does not provide multiple items per source object,lidcan be ignored and set to zero.-
cell_local_label_type target¶
Destination end point on the cell, represented by a
cell_local_label_typewhich packages a label of a group of targets on the cell and a selection policy. The target cell’s gid is implicitly known.
-
float weight¶
The weight delivered to the target synapse. The weight is dimensionless, and its interpretation is specific to the synapse type of the target. For example, the expsyn synapse interprets it as a conductance with units μS (micro-Siemens).
-
float delay¶
Delay of the connection (milliseconds).
-
cell_remote_label_type source¶
-
class gap_junction_connection¶
Describes a gap junction connection between two gap junction sites. The
localsite does not include the gid of a cell, this is because agap_junction_connectionis bound to the local cell, which means that the gid is implicitly known.Note
A bidirectional gap-junction connection between two cells
c0andc1requires twogap_junction_connectionobjects to be constructed: one wherec0is thelocalsite, andc1is thepeersite; and another wherec1is thelocalsite, andc0is thepeersite.-
cell_global_label_type peer¶
Peer gap junction site, represented by a
cell_local_label_typewhich packages a cell gid, a label of a group of gap junction sites on the cell, and a site selection policy.
-
cell_local_label_type local¶
Local gap junction site on the cell, represented by a
cell_local_label_typewhich packages a label of a group of gap junction sites on the cell and a selection policy. The gid of the local site’s cell is implicitly known.
-
float weight¶
unit-less gap junction connection weight.
-
cell_global_label_type peer¶
-
class network_site_info¶
A network connection site on a cell. Used for generated connections through the high-level network description.
-
cell_gid_type gid¶
The cell index.
-
cell_tag_type label¶
The associated label.
-
mlocation location¶
The local location on the cell.
-
mpoint global_location¶
The global location in cartesian coordinates.
-
cell_gid_type gid¶
-
class network_connection_info¶
A network connection between cells. Used for generated connections through the high-level network description.
-
network_site_info source¶
The source connection site.
-
network_site_info target¶
The target connection site.
-
network_site_info source¶
-
class network_value¶
A network value, describing the calculation for each connection.
-
network_value scalar(double value)¶
A fixed scalar value.
-
network_value named(std::string name)¶
A named network value in the network label dictionary.
-
network_value distance()¶
The value representing the distance between source and target.
-
network_value uniform_distribution(unsigned seed, const std::array<double, 2> &range)¶
A uniform random distribution within [range_0, range_1)
-
network_value normal_distribution(unsigned seed, double mean, double std_deviation)¶
A normal random distribution with a given mean and standard deviation.
-
network_value truncated_normal_distribution(unsigned seed, double mean, double std_deviation, const std::array<double, 2> &range)¶
A truncated normal random distribution with a given mean and standard deviation. Sampled through an accept-reject method to only return values in [range_0, range_1)
-
network_value custom(custom_func_type func)¶
Custom value using the provided function “func”. Repeated calls with the same arguments to “func” must yield the same result.
-
network_value add(network_value left, network_value right)¶
Summation of two values.
-
network_value sub(network_value left, network_value right)¶
Subtraction of two values.
-
network_value mul(network_value left, network_value right)¶
Multiplication of two values.
-
network_value div(network_value left, network_value right)¶
Division of two values.
-
network_value min(network_value left, network_value right)¶
Minimum of two values.
-
network_value max(network_value left, network_value right)¶
Maximum of two values.
-
network_value exp(network_value v)¶
Exponential of a given value.
-
network_value log(network_value v)¶
Logarithm of a given value.
-
if_else(network_selection cond, network_value true_value, network_value false_value)¶
if contained in selection, the true_value is used and the false_value otherwise.
-
network_value scalar(double value)¶
-
class network_selection¶
A network selection, describing a subset of all possible connections.
-
network_selection all()¶
Select all
-
network_selection none();¶
Select none
-
network_selection named(std::string name);¶
Named selection in the network label dictionary
-
network_selection inter_cell();¶
Only select connections between different cells
-
network_selection source_cell_kind(cell_kind kind);¶
Select connections with the given source cell kind
-
network_selection target_cell_kind(cell_kind kind);¶
Select connections with the given target cell kind
-
network_selection source_label(std::vector<cell_tag_type> labels);¶
Select connections with the given source label
-
network_selection target_label(std::vector<cell_tag_type> labels);¶
Select connections with the given target label
-
network_selection source_cell(std::vector<cell_gid_type> gids);¶
Select connections with source cells matching the indices in the list
-
network_selection source_cell(gid_range range);¶
Select connections with source cells matching the indices in the range
-
network_selection target_cell(std::vector<cell_gid_type> gids);¶
Select connections with target cells matching the indices in the list
-
network_selection target_cell(gid_range range);¶
Select connections with target cells matching the indices in the range
-
network_selection chain(std::vector<cell_gid_type> gids);¶
Select connections that form a chain, such that source cell “i” is connected to the target cell “i+1”
-
network_selection chain(gid_range range);¶
Select connections that form a chain, such that source cell “i” is connected to the target cell “i+1”
-
network_selection chain_reverse(gid_range range);¶
Select connections that form a reversed chain, such that source cell “i+1” is connected to the target cell “i”
-
network_selection intersect(network_selection left, network_selection right);¶
Select connections, that are selected by both “left” and “right”
-
network_selection join(network_selection left, network_selection right);¶
Select connections, that are selected by either or both “left” and “right”
-
network_selection difference(network_selection left, network_selection right);¶
Select connections, that are selected by “left”, unless selected by “right”
-
network_selection symmetric_difference(network_selection left, network_selection right);¶
Select connections, that are selected by “left” or “right”, but not both
-
network_selection complement(network_selection s);¶
Invert the selection
-
network_selection random(unsigned seed, network_value p);¶
Random selection using the Bernoulli random distribution with probability “p” between 0.0 and 1.0
-
network_selection custom(custom_func_type func);¶
Custom selection using the provided function “func”. Repeated calls with the same arguments to “func” must yield the same result. For gap junction selection, “func” must be symmetric (func(a,b) = func(b,a)).
-
network_selection distance_lt(double d);¶
Only select within a given distance. This may enable more efficient sampling through an internal spatial data structure.
-
network_selection distance_gt(double d);¶
Only select if the distance is greater than a given distance. This may enable more efficient sampling through an internal spatial data structure.
-
network_selection all()¶
-
class network_label_dict¶
Dictionary storing named network values and selections.
-
network_label_dict &set(const std::string &name, network_selection s)¶
Store a network selection under the given name
-
network_label_dict &set(const std::string &name, network_value v)¶
Store a network value under the given name
-
std::optional<network_selection> selection(const std::string &name) const¶
Returns the stored network selection of the given name if it exists. None otherwise.
-
std::optional<network_value> value(const std::string &name) const¶
Returns the stored network value of the given name if it exists. None otherwise.
-
const ns_map &selections() const¶
All stored network selections
-
const nv_map &values() const¶
All stored network values
-
network_label_dict &set(const std::string &name, network_selection s)¶
-
class network_description¶
A complete network description required for processing.
-
network_selection selection¶
Selection of connections.
-
network_value weight¶
Weight of generated connections.
-
network_value delay¶
Delay of generated connections.
-
network_label_dict dict¶
Label dictionary for named selections and values.
-
network_selection selection¶
- generate_network_connections(recipe, context, decomp)¶
Generate network connections from the network description in the recipe. Only generates connections with local gids in the domain composition as the target. Does not include connections from the
connections_onrecipe function.
- generate_network_connections(recipe) :no-index:
Generate network connections from the network description in the recipe. Returns all generated connections on every process. Does not include connections from the “connections_on” recipe function.