Esempio n. 1
0
    def __init__(self):
        ## create circuit instance
        # Py = Excitatory, additive
        self.N_Py = N_Py
        self.Py_rf = linspace(-180, 180, N_Py)

        # SOM = Inhibitory, additive
        self.N_SOM = N_SOM

        # PV = Inhibitory, multiplicative
        self.N_PV = N_PV

        ## Baseline rates -- light off
        self.bPy = 0  #1
        self.bSOM = 0  #1
        self.bPV = 0  #1

        # Synaptic weights
        self.wInPy = 0.5 * utils.cos_weight(stim_rf, Py_rf, 1)
        self.wInSOM = 0. * ones((1, N_SOM))
        self.wInPV = 0. * ones((1, N_PV))

        self.wPyPy = 0. * ones((N_Py, N_Py))
        self.wPySOM = 5. / N_Py * ones((N_Py, N_SOM))
        self.wPyPV = 5. / N_Py * ones(
            (N_Py, N_PV))  #5. / N_Py * ones((N_Py, N_PV))

        self.wSOMPy = -2. * ones((N_SOM, N_Py))  # -2.
        self.wSOMSOM = -0. * ones((N_SOM, N_SOM))
        self.wSOMPV = -0.1 * ones((N_SOM, N_PV))  #-0.05 * ones((N_SOM, N_PV))

        # default is for PV cells to be divisive
        self.additive = 0
N_Py = 25
Py_rf = linspace(-180, 180, N_Py)

# SOM = Inhibitory, additive
N_SOM = 1

# PV = Inhibitory, multiplicative
N_PV = 1

# Baseline rates -- light off
bPy = 0  #1
bSOM = 0  #1
bPV = 0  #1

# Synaptic weights -- light off
wInPy = 0.5 * utils.cos_weight(stim_rf, Py_rf, 1)
wInSOM = 0. * ones((1, N_SOM))
wInPV = 0. * ones((1, N_PV))

wPyPy = 0. * ones((N_Py, N_Py))
wPySOM = 5. / N_Py * ones((N_Py, N_SOM))
wPyPV = 5. / N_Py * ones((N_Py, N_PV))  #5. / N_Py * ones((N_Py, N_PV))

wSOMPy = -2. * ones((N_SOM, N_Py))  # -2.
wSOMSOM = -0. * ones((N_SOM, N_SOM))
wSOMPV = -0.1 * ones((N_SOM, N_PV))  #-0.05 * ones((N_SOM, N_PV))

# multiplicative
wPVPy = 0.1 * ones((N_PV, N_Py))
# additive
wPVPyADD = -1.0 * ones((N_PV, N_Py))
Esempio n. 3
0
#touch_angle = arange(0, 91, 15)
touch_strength = arange(0, 101, 5)

N_In = 4
In_rf = [-135, -45, 45, 135]

N_Py = 25
#Py_rf = arange(-180.0, 180.0, 360.0/N_Py)
Py_rf = linspace(-180, 180, N_Py)

#N_SOM = 4
N_SOM = 1
N_PV = 1

InPy_weight = 15
wInPy = InPy_weight * utils.cos_weight(Py_rf, In_rf, 1)
#wInI = InI_weight * utils.lin_weight(I_rf, In_rf, 1)

InSOM_weight = 0
wInSOM = InSOM_weight * ones((N_In, N_SOM))
#wInSOM = InSOM_weight * eye(N_In, N_SOM)
wPySOM = 0.2 * ones((N_Py, N_SOM))
# Uniform SOM I weight distribution
wSOMPy = -1 * ones((N_SOM, N_Py))
# Uniform for mult gain
#wSOMPy = 0 * ones((N_SOM, N_Py))
# Opposite cos distribution
#wSOMPy = -0.7 * utils.cos_weight(Py_rf, Pyn_rf, 1)

wInPV = 0 * ones((N_In, N_PV))
Esempio n. 4
0
N_Py = 25
Py_rf = linspace(-180, 180, N_Py)

# SOM = Inhibitory, additive
N_SOM = 1

# PV = Inhibitory, multiplicative
N_PV = 1

# Baseline rates -- light off
bPy = 0  #1
bSOM = 0  #1
bPV = 0  #1

# Synaptic weights -- light off
wInPy = 1. * utils.cos_weight(stim_rf, Py_rf, 1)
wInSOM = 0. * ones((1, N_SOM))
wInPV = 0. * ones((1, N_PV))

wPyPy = 0. * ones((N_Py, N_Py))
wPySOM = 5. / N_Py * ones((N_Py, N_SOM))
wPyPV = 2 / N_Py * ones((N_Py, N_PV))  #5. / N_Py * ones((N_Py, N_PV))

wSOMPy = -2. * ones((N_SOM, N_Py))
wSOMSOM = -0. * ones((N_SOM, N_SOM))
wSOMPV = -2 * ones((N_SOM, N_PV))  #-0.05 * ones((N_SOM, N_PV))

wPVPy = 0.1 * ones((N_PV, N_Py))
wPVSOM = 0. * ones((N_PV, N_SOM))
wPVPV = 0. * ones((N_PV, N_PV))