bsb.connectivity.detailed package#
Submodules#
bsb.connectivity.detailed.fiber_intersection module#
- class bsb.connectivity.detailed.fiber_intersection.FiberIntersection(*args, _parent=None, _key=None, **kwargs)[source]#
Bases:
Intersectional
,ConnectionStrategy
FiberIntersection connection strategies voxelize a fiber and find its intersections with postsynaptic cells. It’s a specific case of VoxelIntersection.
For each presynaptic cell, the following steps are executed:
Extract the FiberMorphology
Interpolate points on the fiber until the spatial resolution is respected
transform
Interpolate points on the fiber until the spatial resolution is respected
Voxelize (generates the voxel_tree associated to this morphology)
Check intersections of presyn bounding box with all postsyn boxes
Check intersections of each candidate postsyn with current presyn voxel_tree
- affinity#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- contacts#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- get_node_name()#
- intersect_voxel_tree(from_voxel_tree, to_cloud, to_pos)[source]#
Similarly to intersect_clouds from VoxelIntersection, it finds intersecting voxels between a from_voxel_tree and a to_cloud set of voxels
- Parameters:
from_voxel_tree – tree built from the voxelization of all branches in the fiber (in absolute coordinates)
to_cloud (VoxelCloud) – voxel cloud associated to a to_cell morphology
to_pos (list) – 3-D position of to_cell neuron
- resolution#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- to_plot#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- class bsb.connectivity.detailed.fiber_intersection.QuiverTransform[source]#
Bases:
FiberTransform
QuiverTransform applies transformation to a FiberMorphology, based on an orientation field in a voxelized volume. Used for parallel fibers.
- casts = {'vol_res': <class 'float'>}#
- defaults = {'quivers': None, 'vol_res': 10.0, 'vol_start': [0.0, 0.0, 0.0]}#
- transform_branch(branch, offset)[source]#
Compute bending transformation of a fiber branch (discretized according to original compartments and configured resolution value). The transformation is a rotation of each segment/compartment of each fiber branch to align to the cross product between the orientation vector and the transversal direction vector (i.e. cross product between fiber morphology/parent branch orientation and branch direction): compartment[n+1].start = compartment[n].end cross_prod = orientation_vector X transversal_vector or transversal_vector X orientation_vector compartment[n+1].end = compartment[n+1].start + cross_prod * length_comp
- Parameters:
branch (:~class:.morphologies.Branch) – a branch of the current fiber to be transformed
- Returns:
a transformed branch
- Return type:
:~class:.morphologies.Branch
bsb.connectivity.detailed.touch_detection module#
- class bsb.connectivity.detailed.touch_detection.TouchDetector(*args, _parent=None, _key=None, **kwargs)[source]#
Bases:
Intersectional
,ConnectionStrategy
Connectivity based on intersection of detailed morphologies
- allow_zero_contacts#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- cell_intersection_plane#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- cell_intersection_radius#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- compartment_intersection_plane#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- compartment_intersection_radius#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- contacts#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- get_node_name()#
bsb.connectivity.detailed.voxel_intersection module#
- class bsb.connectivity.detailed.voxel_intersection.VoxelIntersection(*args, _parent=None, _key=None, **kwargs)[source]#
Bases:
Intersectional
,ConnectionStrategy
This strategy finds overlap between voxelized morphologies.
- cache#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- contacts#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- favor_cache#
Base implementation of all the different configuration attributes. Call the factory function
attr()
instead.
- get_node_name()#
- bsb.connectivity.detailed.voxel_intersection.ichain(iterable, /)#
Alternative chain() constructor taking a single iterable argument that evaluates lazily.