Пример #1
0
    def __init__(self, params=zheng_params, network=None):
        eqs=Equations('''
        G_total                                                       : siemens
        G_total_exc                                                   : siemens
        cmr_o                                                         : 1
        cb                                                            : 1
        g                                                             : 1
        c_ab                                                          : 1
        cb_0                                                          : 1
        g_0                                                           : 1
        ''')

        NeuronGroup.__init__(self, 1, model=eqs, compile=True, freeze=True)

        self.params=params
        self.c_ab=self.params.c_ab
        self.cb_0=self.params.cb_0
        self.g_0=self.params.g_0

        self.cb=self.cb_0
        self.g=self.g_0

        if network is not None:
            self.G_total = linked_var(network, 'g_syn', func=sum)
            self.G_total_exc = linked_var(network, 'g_syn_exc', func=sum)
Пример #2
0
    def __init__(self, params=zheng_params, network=None):
        eqs = Equations('''
        G_total                                                       : siemens
        G_total_exc                                                   : siemens
        cmr_o                                                         : 1
        cb                                                            : 1
        g                                                             : 1
        c_ab                                                          : 1
        cb_0                                                          : 1
        g_0                                                           : 1
        ''')

        NeuronGroup.__init__(self, 1, model=eqs, compile=True, freeze=True)

        self.params = params
        self.c_ab = self.params.c_ab
        self.cb_0 = self.params.cb_0
        self.g_0 = self.params.g_0

        self.cb = self.cb_0
        self.g = self.g_0

        if network is not None:
            self.G_total = linked_var(network, 'g_syn', func=sum)
            self.G_total_exc = linked_var(network, 'g_syn_exc', func=sum)
Пример #3
0
    def __init__(self, clock, params=default_params, network=None):
        eqs = Equations('''
        G_total                                                       : siemens
        G_total_exc                                                   : siemens
        ds/dt=eta*(G_total-G_base)/G_base-s/tau_s-(f_in-1.0)/tau_f    : 1
        df_in/dt=s/second                                             : 1
        dv/dt=1/tau_o*(f_in-f_out)                                    : 1
        f_out=v**(1.0/alpha)                                          : 1
        o_e=1-(1-e_base)**(1/f_in)                                    : 1
        dq/dt=1/tau_o*((f_in*o_e/e_base)-f_out*q/v)                   : 1
        y=v_base*((k1+k2)*(1-q)-(k2+k3)*(1-v))                        : 1
        G_base                                                        : siemens
        eta                                                           : 1/second
        tau_s                                                         : second
        tau_f                                                         : second
        alpha                                                         : 1
        tau_o                                                         : second
        e_base                                                        : 1
        v_base                                                        : 1
        k1                                                            : 1
        k2                                                            : 1
        k3                                                            : 1
        ''')
        NeuronGroup.__init__(self,
                             1,
                             model=eqs,
                             clock=clock,
                             compile=True,
                             freeze=True)
        self.params = params
        self.G_base = params.G_base
        self.eta = params.eta
        self.tau_s = params.tau_s
        self.tau_f = params.tau_f
        self.alpha = params.alpha
        self.tau_o = params.tau_o
        self.e_base = params.e_base
        self.v_base = params.v_base
        self.k1 = params.k1
        self.params.s_e = params.s_e_0 * exp(-params.TE / params.T_2E)
        self.params.s_i = params.s_i_0 * exp(-params.TE / params.T_2I)
        self.params.beta = self.params.s_e / self.params.s_i
        self.k2 = self.params.beta * params.r_0 * self.e_base * params.TE
        self.k3 = self.params.beta - 1

        self.f_in = 1
        self.s = 0
        self.v = 1
        self.q = 1

        if network is not None:
            self.G_total = linked_var(network, 'g_syn', func=sum)
            self.G_total_exc = linked_var(network, 'g_syn_exc', func=sum)
Пример #4
0
    def __init__(self, clock, params=default_params, network=None):
        eqs=Equations('''
        G_total                                                       : siemens
        G_total_exc                                                   : siemens
        ds/dt=eta*(G_total-G_base)/G_base-s/tau_s-(f_in-1.0)/tau_f    : 1
        df_in/dt=s/second                                             : 1
        dv/dt=1/tau_o*(f_in-f_out)                                    : 1
        f_out=v**(1.0/alpha)                                          : 1
        o_e=1-(1-e_base)**(1/f_in)                                    : 1
        dq/dt=1/tau_o*((f_in*o_e/e_base)-f_out*q/v)                   : 1
        y=v_base*((k1+k2)*(1-q)-(k2+k3)*(1-v))                        : 1
        G_base                                                        : siemens
        eta                                                           : 1/second
        tau_s                                                         : second
        tau_f                                                         : second
        alpha                                                         : 1
        tau_o                                                         : second
        e_base                                                        : 1
        v_base                                                        : 1
        k1                                                            : 1
        k2                                                            : 1
        k3                                                            : 1
        ''')
        NeuronGroup.__init__(self, 1, model=eqs, clock=clock, compile=True, freeze=True)
        self.params=params
        self.G_base=params.G_base
        self.eta=params.eta
        self.tau_s=params.tau_s
        self.tau_f=params.tau_f
        self.alpha=params.alpha
        self.tau_o=params.tau_o
        self.e_base=params.e_base
        self.v_base=params.v_base
        self.k1=params.k1
        self.params.s_e=params.s_e_0*exp(-params.TE/params.T_2E)
        self.params.s_i=params.s_i_0*exp(-params.TE/params.T_2I)
        self.params.beta=self.params.s_e/self.params.s_i
        self.k2=self.params.beta*params.r_0*self.e_base*params.TE
        self.k3=self.params.beta-1

        self.f_in=1
        self.s=0
        self.v=1
        self.q=1

        if network is not None:
            self.G_total = linked_var(network, 'g_syn', func=sum)
            self.G_total_exc = linked_var(network, 'g_syn_exc', func=sum)
Пример #5
0
 def __init__(self, pyramidal_group, clock=defaultclock):
     eqs = Equations('''
      LFP : amp
     ''')
     NeuronGroup.__init__(self,
                          1,
                          model=eqs,
                          compile=True,
                          freeze=True,
                          clock=clock)
     self.LFP = linked_var(pyramidal_group, 'I_abs', func=sum)
Пример #6
0
 def __init__(self, pyramidal_group, clock=defaultclock):
     eqs=Equations('''
      LFP : amp
     ''')
     NeuronGroup.__init__(self, 1, model=eqs, compile=True, freeze=True, clock=clock)
     self.LFP=linked_var(pyramidal_group, 'I_abs', func=sum)
Пример #7
0
    def __init__(self, clock, params=zheng_params, network=None):
        eqs=Equations('''
        G_total                                                       : siemens
        G_total_exc                                                   : siemens
        ds/dt=eta*(G_total-G_base)/G_base-s/tau_s-(f_in-1.0)/tau_f    : 1
        df_in/dt=s/second                                             : 1.0
        dv/dt=1/tau_o*(f_in-f_out)                                    : 1
        f_out=v**(1.0/alpha)                                          : 1
        do_e/dt=1.0/(phi/f_in)*(-o_e+(1.0-g)*(1.0-(1.0-e_base/(1.0-g_0))**(1.0/f_in))) : %.4f
        dcb/dt=1.0/(phi/f_in)*(-cb-(c_ab*o_e)/oe_log+c_ab*g)  : 1
        oe_log                            : 1
        cmr_o=(cb-g*c_ab)/(cb_0-g_0*c_ab) : 1
        dg/dt=1.0/(j*v_ratio*((r*transitTime)/e_base))*((cmr_o-1.0)-k*s)  : %.4f
        dq/dt=1/tau_o*((f_in*o_e/e_base)-f_out*q/v)                   : 1
        y=v_0*((k1+k2)*(1-q)-(k2+k3)*(1-v))                        : 1
        G_base                                                        : siemens
        eta                                                           : 1/second
        tau_s                                                         : second
        tau_f                                                         : second
        alpha                                                         : 1
        tau_o                                                         : second
        v_0                                                           : 1
        k1                                                            : 1
        k2                                                            : 1
        k3                                                            : 1
        phi                                                           : %.4f*second
        e_base                                                        : %.4f
        g_0                                                           : %.4f
        c_ab                                                          : 1
        cb_0                                                          : 1
        v_ratio                                                       : 1
        j                                                             : 1
        transitTime                                                   : second
        k                                                             : 1
        r                                                             : 1
        ''' % (params.e_base, params.g_0, params.phi, params.e_base, params.g_0))
        NeuronGroup.__init__(self, 1, model=eqs, clock=clock, compile=True, freeze=True)

        self.params=params
        self.G_base=params.G_base
        self.eta=params.eta
        self.tau_s=params.tau_s
        self.tau_f=params.tau_f
        self.alpha=params.alpha
        self.tau_o=params.tau_o
        self.e_base=params.e_base
        self.v_0=params.v_0
        self.k1=params.k1
        self.params.s_e=params.s_e_0*exp(-params.TE/params.T_2E)
        self.params.s_i=params.s_i_0*exp(-params.TE/params.T_2I)
        self.params.beta=self.params.s_e/self.params.s_i
        self.k2=self.params.beta*params.r_0*self.e_base*params.TE
        self.k3=self.params.beta-1.0
        self.c_ab=self.params.c_ab
        self.cb_0=self.params.cb_0
        self.g_0=self.params.g_0
        self.phi=self.params.phi
        self.v_ratio=self.params.v_ratio
        self.j=self.params.j
        self.transitTime=self.params.transitTime
        self.k=self.params.k
        self.r=self.params.r

        self.f_in=1.0
        self.s=0.0
        self.v=1.0
        self.o_e=self.e_base
        self.cb=self.cb_0
        self.g=self.g_0
        self.oe_log=np.log(1.0-self.o_e/(1.0-self.g))

        self.q=1.0

        if network is not None:
            self.G_total = linked_var(network, 'g_syn', func=sum)
            self.G_total_exc = linked_var(network, 'g_syn_exc', func=sum)
Пример #8
0
    def __init__(self, clock, params=zheng_params, network=None):
        eqs = Equations(
            '''
        G_total                                                       : siemens
        G_total_exc                                                   : siemens
        ds/dt=eta*(G_total-G_base)/G_base-s/tau_s-(f_in-1.0)/tau_f    : 1
        df_in/dt=s/second                                             : 1.0
        dv/dt=1/tau_o*(f_in-f_out)                                    : 1
        f_out=v**(1.0/alpha)                                          : 1
        do_e/dt=1.0/(phi/f_in)*(-o_e+(1.0-g)*(1.0-(1.0-e_base/(1.0-g_0))**(1.0/f_in))) : %.4f
        dcb/dt=1.0/(phi/f_in)*(-cb-(c_ab*o_e)/oe_log+c_ab*g)  : 1
        oe_log                            : 1
        cmr_o=(cb-g*c_ab)/(cb_0-g_0*c_ab) : 1
        dg/dt=1.0/(j*v_ratio*((r*transitTime)/e_base))*((cmr_o-1.0)-k*s)  : %.4f
        dq/dt=1/tau_o*((f_in*o_e/e_base)-f_out*q/v)                   : 1
        y=v_0*((k1+k2)*(1-q)-(k2+k3)*(1-v))                        : 1
        G_base                                                        : siemens
        eta                                                           : 1/second
        tau_s                                                         : second
        tau_f                                                         : second
        alpha                                                         : 1
        tau_o                                                         : second
        v_0                                                           : 1
        k1                                                            : 1
        k2                                                            : 1
        k3                                                            : 1
        phi                                                           : %.4f*second
        e_base                                                        : %.4f
        g_0                                                           : %.4f
        c_ab                                                          : 1
        cb_0                                                          : 1
        v_ratio                                                       : 1
        j                                                             : 1
        transitTime                                                   : second
        k                                                             : 1
        r                                                             : 1
        ''' %
            (params.e_base, params.g_0, params.phi, params.e_base, params.g_0))
        NeuronGroup.__init__(self,
                             1,
                             model=eqs,
                             clock=clock,
                             compile=True,
                             freeze=True)

        self.params = params
        self.G_base = params.G_base
        self.eta = params.eta
        self.tau_s = params.tau_s
        self.tau_f = params.tau_f
        self.alpha = params.alpha
        self.tau_o = params.tau_o
        self.e_base = params.e_base
        self.v_0 = params.v_0
        self.k1 = params.k1
        self.params.s_e = params.s_e_0 * exp(-params.TE / params.T_2E)
        self.params.s_i = params.s_i_0 * exp(-params.TE / params.T_2I)
        self.params.beta = self.params.s_e / self.params.s_i
        self.k2 = self.params.beta * params.r_0 * self.e_base * params.TE
        self.k3 = self.params.beta - 1.0
        self.c_ab = self.params.c_ab
        self.cb_0 = self.params.cb_0
        self.g_0 = self.params.g_0
        self.phi = self.params.phi
        self.v_ratio = self.params.v_ratio
        self.j = self.params.j
        self.transitTime = self.params.transitTime
        self.k = self.params.k
        self.r = self.params.r

        self.f_in = 1.0
        self.s = 0.0
        self.v = 1.0
        self.o_e = self.e_base
        self.cb = self.cb_0
        self.g = self.g_0
        self.oe_log = np.log(1.0 - self.o_e / (1.0 - self.g))

        self.q = 1.0

        if network is not None:
            self.G_total = linked_var(network, 'g_syn', func=sum)
            self.G_total_exc = linked_var(network, 'g_syn_exc', func=sum)