DoGKernel#
- class braintools.conn.DoGKernel(sigma_center, sigma_surround, amplitude_center=1.0, amplitude_surround=0.8, max_distance=None, weight=None, delay=None, **kwargs)#
Difference of Gaussians (DoG) kernel for center-surround receptive fields.
Implements DoG filters commonly found in retinal ganglion cells and LGN neurons, with excitatory center and inhibitory surround (or vice versa).
- Parameters:
sigma_center (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Standard deviation of center Gaussian.sigma_surround (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Standard deviation of surround Gaussian.amplitude_center (
float) – Amplitude of center Gaussian (default: 1.0).amplitude_surround (
float) – Amplitude of surround Gaussian (default: 0.8).max_distance (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|None) – Maximum distance for connections (default: 3*sigma_surround).weight (
Initialization|float|int|ndarray|Array|Quantity|None) – Weight initialization (DoG 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 >>> dog = DoGKernel( ... sigma_center=30 * u.um, ... sigma_surround=60 * u.um, ... amplitude_center=1.0, ... amplitude_surround=0.8, ... weight=1.0 * u.nS ... ) >>> result = dog( ... pre_size=500, post_size=500, ... pre_positions=positions, post_positions=positions ... )