JansenRitStep

JansenRitStep#

class brainmass.JansenRitStep(in_size, Ae=Quantity(3.25, "mV"), Ai=Quantity(22., "mV"), be=Quantity(100., "Hz"), bi=Quantity(50., "Hz"), C=135.0, a1=1.0, a2=0.8, a3=0.25, a4=0.25, s_max=Quantity(5., "Hz"), v0=Quantity(6., "mV"), r=0.56, M_init=ZeroInit(unit=mV), E_init=ZeroInit(unit=mV), I_init=ZeroInit(unit=mV), Mv_init=ZeroInit(unit=mV / s), Ev_init=ZeroInit(unit=mV / s), Iv_init=ZeroInit(unit=mV / s), fr_scale=<brainmass.jansen_rit.Identity object>, noise_E=None, noise_I=None, noise_M=None, method='exp_euler')#

Jansen-Rit neural mass model.

This implementation follows the standard three-population Jansen–Rit formulation with state variables for the pyramidal (M), excitatory interneuron (E), and inhibitory interneuron (I) membrane potentials and their first derivatives (Mv, Ev, Iv):

\[\begin{split} \begin{aligned} &\dot{M}= M_v, \\ &\dot{E}= E_v, \\ &\dot{I}= I_v, \\ &\dot{M}_v= A_e b_e\,\text{scale}\big(S(E - I + M_{\text{inp}})\big) - 2 b_e M_v - b_e^2 M, \\ &\dot{E}_v= A_e b_e\,\text{scale}\big(E_{\text{inp}} + C a_2 S(C a_1 M)\big) - 2 b_e E_v - b_e^2 E, \\ &\dot{I}_v= A_i b_i\,\text{scale}\big(C a_4 S(C a_3 M + I_{\text{inp}})\big) - 2 b_i I_v - b_i^2 I. \end{aligned} \end{split}\]

The static nonlinearity maps membrane potential to firing rate:

\[ S(v) = \frac{s_{\max}}{1 + e^{\, r (v_0 - v)/\mathrm{mV}}}, \]

yielding values in \([0, s_{\max}]\). Here, \(v\) is in mV, \(s_{\max}\) in s\(^{-1}\), \(v_0\) in mV, and \(r\) is dimensionless.

Inputs and units:

  • M_inp (mV) shifts the pyramidal population input inside the sigmoid in \(\dot{M}_v\).

  • E_inp (s\(^{-1}\)) is added to the excitatory firing-rate drive in \(\dot{E}_v\).

  • I_inp (mV) shifts the inhibitory population input inside the sigmoid in \(\dot{I}_v\).

The EEG-like output proxy returned by eeg() is the difference between excitatory and inhibitory postsynaptic potentials at the pyramidal population, i.e. E - I.

Standard parameter settings for the Jansen–Rit model. Only parameters with a specified “Range” are estimated in this study.

Parameter

Description

Default

Range

Ae

Excitatory gain

3.25 mV

2.6-9.75 mV

Ai

Inhibitory gain

22 mV

17.6-110.0 mV

be

Excitatory time const.

100 s^-1

5-150 s^-1

bi

Inhibitory time const.

50 s^-1

25-75 s^-1

C

Connectivity constant

135

65-1350

a1

Connectivity parameter

1.0

0.5-1.5

a2

Connectivity parameter

0.8

0.4-1.2

a3

Connectivity parameter

0.25

0.125-0.375

a4

Connectivity parameter

0.25

0.125-0.375

smax

Max firing rate

2.5 s^-1

v0

Firing threshold

6 mV

r

Sigmoid steepness

0.56

Parameters:
  • in_size (int | Sequence[int] | integer | Sequence[integer]) – Variable shape for parameter/state broadcasting.

  • Ae (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Excitatory gain (mV).

  • Ai (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Inhibitory gain (mV).

  • be (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Excitatory inverse time constant (s^-1).

  • bi (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Inhibitory inverse time constant (s^-1).

  • C (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Global connectivity scaling (dimensionless).

  • a1 (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Connectivity parameters (dimensionless) used as in the equations above.

  • a2 (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Connectivity parameters (dimensionless) used as in the equations above.

  • a3 (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Connectivity parameters (dimensionless) used as in the equations above.

  • a4 (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Connectivity parameters (dimensionless) used as in the equations above.

  • s_max (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Maximum firing rate for the sigmoid, units s^-1.

  • v0 (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Sigmoid midpoint (mV).

  • r (Callable | Array | ndarray | bool | number | bool | int | float | complex | Quantity | Param) – Sigmoid steepness (dimensionless).

  • M_init (Callable) – Initializers for membrane potentials (mV).

  • E_init (Callable) – Initializers for membrane potentials (mV).

  • I_init (Callable) – Initializers for membrane potentials (mV).

  • Mv_init (Callable) – Initializers for potential derivatives (mV/s).

  • Ev_init (Callable) – Initializers for potential derivatives (mV/s).

  • Iv_init (Callable) – Initializers for potential derivatives (mV/s).

  • fr_scale (Callable) – Optional scaling applied to firing-rate drives; receives rates in s^-1 and returns scaled rates.

  • noise_E (Noise) – Optional additive noise sources applied to E_inp, I_inp, and M_inp respectively.

  • noise_I (Noise) – Optional additive noise sources applied to E_inp, I_inp, and M_inp respectively.

  • noise_M (Noise) – Optional additive noise sources applied to E_inp, I_inp, and M_inp respectively.

  • method (str) – Integrator name. ‘exp_euler’ uses brainstate.nn.exp_euler_step; any other value dispatches to braintools.quad.ode_{method}_step.

Return type:

Any

Notes

  • In this implementation fr_scale is applied to the firing-rate drive terms and defaults to the identity.

  • Variable naming: \((M, E, I)\) correspond to pyramidal, excitatory, and inhibitory population membrane potentials (mV); \((M_v, E_v, I_v)\) are their time derivatives (mV/s).

References

  • [1] Nunez P L, Srinivasan R. Electric fields of the brain: the neurophysics of EEG. Oxford University Press, 2006.

  • [2] Jansen B H, Rit V G. Electroencephalogram and visual evoked potential generation in a mathematical model of coupled cortical columns. Biological Cybernetics, 1995, 73(4): 357–366.

  • [3] David O, Friston K J. A neural mass model for MEG/EEG: coupling and neuronal dynamics. NeuroImage, 2003, 20(3): 1743–1755.

init_state(batch_size=None, **kwargs)[source]#

State initialization function.