AxonalProjection#
- class braintools.conn.AxonalProjection(projection_type='local', topographic_map=None, arborization_pattern='diffuse', connection_prob=0.05, spatial_scale=10000.0, target_compartments=None, weight=None, delay=None, allow_self_connections=False, **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.target_compartments (
List[int] |None) – Postsynaptic dendritic compartments to target. Each connection is randomly assigned one of these. Default[BASAL_DENDRITE, APICAL_DENDRITE].weight (
Initialization|float|int|ndarray|Array|Quantity|None) – Weight initialization.delay (
Initialization|float|int|ndarray|Array|Quantity|None) – Delay initialization.allow_self_connections (
bool) – Whether a neuron may connect to itself. DefaultFalse.
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' ... )