Kernels

Create kernels

New kernels can be defined by creating a closure object where the inner function takes the spatial and/or temporal frequencies as argument, depending on whether it is a spatial, temporal, or spatiotemporal kernel.

An example is shown below:

def create_my_kernel():
    def evaluate(w, kx, ky):
        # implementation
    return evaluate

Available kernels

Spatial

  • Gaussian
  • Difference of Gaussian
  • Dirac delta
pylgn.kernels.spatial.create_delta_ft(shift_x=array(0.) * deg, shift_y=array(0.) * deg)[source]

Create delta_ft closure

Parameters:
  • shift_x (float/quantity scalar) – Shift in x-direction
  • shift_y (float/quantity scalar) – Shift in y-direction
Returns:

out – Evaluate function

Return type:

function

pylgn.kernels.spatial.create_dog_ft(A=1, a=array(0.62) * deg, B=0.85, b=array(1.26) * deg, dx=array(0.) * deg, dy=array(0.) * deg)[source]

Create Fourier transformed difference of Gaussian function closure

Parameters:
  • A (float) – Center peak value
  • a (float/quantity scalar) – Center width
  • B (float) – Surround peak value
  • b (float/quantity scalar) – Surround width
  • dx (float/quantity scalar) – shift in x-direction
  • dy (float/quantity scalar) – shift in y-direction
Returns:

out – Evaluate function

Return type:

function

pylgn.kernels.spatial.create_gauss_ft(A=1, a=array(0.62) * deg, dx=array(0.) * deg, dy=array(0.) * deg)[source]

Create Fourier transformed Gaussian function closure.

Parameters:
  • A (float) – peak value
  • a (float/quantity scalar) – Width
  • dx (float/quantity scalar) – shift in x-direction
  • dy (float/quantity scalar) – shift in y-direction
Returns:

out – Evaluate function

Return type:

function

Temporal

  • Dirac delta
  • Biphasic
  • Difference of exponentials
pylgn.kernels.temporal.create_biphasic_ft(phase=array(43.) * ms, damping=0.38, delay=array(0.) * ms)[source]

Create Fourier transformed Biphasic closure

Parameters:
  • phase (float/quantity scalar) – Delay
  • damping (float) – Damping factor
  • delay (float/quantity scalar) – Delay
Returns:

out – Evaluate function

Return type:

function

pylgn.kernels.temporal.create_delta_ft(delay=array(0.) * ms)[source]

Create Fourier transform delta closure

Parameters:delay (float/quantity scalar) – Delay
Returns:out – Evaluate function
Return type:function
pylgn.kernels.temporal.create_exp_decay_ft(tau, delay)[source]

Create Fourier transformed exponential decay closure

Parameters:
  • tau (float/quantity scalar) – Time constant
  • delay (float/quantity scalar) – Delay
Returns:

out – Evaluate function

Return type:

function