DoGProfile

DoGProfile#

class braintools.init.DoGProfile(sigma_center, sigma_surround, amplitude_center=1.0, amplitude_surround=0.5, max_distance=None)#

Difference of Gaussians (DoG) distance profile.

Connection probability follows a center-surround pattern with excitation at close range and inhibition at intermediate range.

Parameters:
  • sigma_center (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Standard deviation of the center Gaussian.

  • sigma_surround (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Standard deviation of the surround Gaussian (should be > sigma_center).

  • amplitude_center (float) – Amplitude of center Gaussian (default: 1.0).

  • amplitude_surround (float) – Amplitude of surround Gaussian (default: 0.5).

  • max_distance (Array | ndarray | bool | number | bool | int | float | complex | Quantity | None) – Maximum connection distance (connections beyond this are set to 0).

Examples

>>> import numpy as np
>>> import brainunit as u
>>> from braintools.init import DoGProfile
>>>
>>> profile = DoGProfile(
...     sigma_center=30.0 * u.um,
...     sigma_surround=90.0 * u.um,
...     amplitude_center=1.0,
...     amplitude_surround=0.5
... )
>>> distances = np.array([0, 30, 60, 90, 120]) * u.um
>>> probs = profile.probability(distances)
probability(distances)[source]#

Calculate connection probability based on distance.

Parameters:

distances (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Array of distances between neuron pairs.

Returns:

probability – Connection probabilities (values between 0 and 1).

Return type:

ndarray