AxonalProjection

AxonalProjection#

class braintools.conn.AxonalProjection(projection_type='local', topographic_map=None, arborization_pattern='diffuse', connection_prob=0.05, spatial_scale=10000.0, weight=None, delay=None, **kwargs)#

Axonal projection patterns with topographic organization.

This models long-range axonal projections with topographic mapping and realistic axonal arborization patterns.

Parameters:
  • projection_type (str) – Type of projection (‘local’, ‘long_range’, ‘topographic’).

  • topographic_map (Callable | None) – Function defining topographic mapping (pre_pos, post_pos) -> probability.

  • arborization_pattern (str) – Pattern of axonal arborization (‘diffuse’, ‘clustered’, ‘columnar’).

  • connection_prob (float) – Base connection probability.

  • spatial_scale (float) – Spatial scale for clustered arborization pattern (default 10000.0). Controls how distance affects clustering: smaller values = tighter clustering.

  • weight (Initialization | float | int | ndarray | Array | Quantity | None) – Weight initialization.

  • delay (Initialization | float | int | ndarray | Array | Quantity | None) – Delay initialization.

Examples

>>> def retinotopic_map(source_pos, target_pos):
...     # Custom topographic mapping
...     return np.exp(-np.linalg.norm(source_pos - target_pos)**2 / 1000)
>>>
>>> axon_proj = AxonalProjection(
...     projection_type='topographic',
...     topographic_map=retinotopic_map,
...     arborization_pattern='clustered'
... )
generate(pre_size, post_size, pre_positions=None, post_positions=None, **kwargs)[source]#

Generate axonal projection connections.

Return type:

ConnectionResult