mercurial.core.neural_field module

2D neural field with empirical lateral connection parameters.

class mercurial.core.neural_field.MexicanHatKernel(size: int, dx: float, A_e: float = 1.0, sigma_e: float = 0.5, A_i: float = 0.8, sigma_i: float = 1.5)[source]

Bases: object

Mexican‑hat kernel with empirically derived amplitudes and widths.

Methods

get_ft

get_kernel

__init__(size: int, dx: float, A_e: float = 1.0, sigma_e: float = 0.5, A_i: float = 0.8, sigma_i: float = 1.5)[source]
Parameters:
sizeint

Kernel size (odd, typically 2*radius+1).

dxfloat

Grid spacing (mm).

A_e, sigma_efloat

Excitatory amplitude and width (mm).

A_i, sigma_ifloat

Inhibitory amplitude and width (mm).

get_ft(shape: Tuple[int, int]) ndarray[source]
get_kernel() ndarray[source]
class mercurial.core.neural_field.NeuralField2D(nx: int, ny: int, dx: float = 0.5, dy: float = 0.5, wc_params: dict | None = None, kernel_ee: MexicanHatKernel | None = None, kernel_ie: MexicanHatKernel | None = None)[source]

Bases: object

2D neural field with empirical lateral connectivity parameters.

Methods

get_phase_field

order_parameter

step

__init__(nx: int, ny: int, dx: float = 0.5, dy: float = 0.5, wc_params: dict | None = None, kernel_ee: MexicanHatKernel | None = None, kernel_ie: MexicanHatKernel | None = None)[source]
Parameters:
nx, nyint

Grid dimensions.

dx, dyfloat

Spatial step (mm). Default 0.5 mm approximates cortical column spacing.

wc_paramsdict, optional

Parameters for WilsonCowanPopulation (per point).

kernel_ee, kernel_ieMexicanHatKernel, optional

If None, defaults use empirical values (A_e=1.0, σ_e=0.5 mm, A_i=0.8, σ_i=1.5 mm).

get_phase_field() ndarray[source]
order_parameter() float[source]
step(dt: float, P_ext: ndarray | None = None, Q_ext: ndarray | None = None) None[source]