GaborKernel

GaborKernel#

class braintools.conn.GaborKernel(sigma, frequency, theta, phase=0.0, max_distance=None, weight=None, delay=None, **kwargs)#

Gabor kernel connectivity for orientation-selective receptive fields.

Implements Gabor filters in spatial connectivity, useful for creating orientation-selective neurons similar to V1 simple cells.

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

  • frequency (float) – Frequency of sinusoidal component (cycles per unit distance).

  • theta (float) – Orientation angle in radians.

  • phase (float) – Phase offset in radians (default: 0).

  • max_distance (Array | ndarray | bool | number | bool | int | float | complex | Quantity | None) – Maximum distance for connections (default: 3*sigma).

  • weight (Initialization | float | int | ndarray | Array | Quantity | None) – Weight initialization (Gabor values are multiplied by this).

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

Examples

>>> positions = np.random.uniform(0, 1000, (500, 2)) * u.um
>>> gabor = GaborKernel(
...     sigma=50 * u.um,
...     frequency=0.02,  # 1 cycle per 50 um
...     theta=np.pi / 4,  # 45 degrees
...     weight=1.0 * u.nS
... )
>>> result = gabor(
...     pre_size=500, post_size=500,
...     pre_positions=positions, post_positions=positions
... )
generate(**kwargs)[source]#

Generate Gabor kernel connections.

Return type:

ConnectionResult