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.