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' ... )