Exemplo n.º 1
0
    def __init__(self):
        # ia_aff = AfferentFiber(muscle=Muscle.EXTENS, afferent=Afferent.IA)
        try:
            type(ia_aff)
        except NameError:
            ia_aff = create(60)
            Connect(pre=add_multimeter('afferent'), post=ia_aff)

        period = round(1000. / Params.RATE.value, 1)

        ees = Create(
            model='spike_generator',
            params={
                'spike_times':
                [10. + i * period for i in range(Params.NUM_SPIKES.value)],
                'spike_weights':
                [300. for i in range(Params.NUM_SPIKES.value)]
            })

        Connect(pre=ees,
                post=ia_aff,
                syn_spec={
                    'model': 'static_synapse',
                    'weight': 1.,
                    'delay': .1
                },
                conn_spec={
                    'rule': 'fixed_outdegree',
                    'outdegree': 60,
                    'multapses': False,
                    'autapses': False
                })

        moto = create(n=169)
        Connect(pre=add_multimeter('moto'), post=moto)
        ia_int = create(n=196)
        Connect(pre=add_multimeter('ia_int'), post=ia_int)
        rc = create(196)
        Connect(add_multimeter('rc'), post=rc)
        level2 = Level2()

        for i in range(Params.NUM_SUBLEVELS.value):
            connect(pre=level2.sublayers[i].general_left,
                    post=moto,
                    weight=15.,
                    degree=100)

        # connect(ia_aff.neuron_ids, level2.sublayers[0].general_right, 20., 20, 3.)
        # connect(ia_aff.neuron_ids, moto, 7., 196)
        # connect(ia_aff.neuron_ids, ia_int, 3., 196)

        connect(ia_aff, level2.sublayers[0].general_right, 30., 20, 3.)
        connect(ia_aff, moto, 7., 196)
        connect(ia_aff, ia_int, 3., 196)
        connect(moto, rc, 7., 100)
        connect(rc, moto, -7., 100)
        connect(ia_int, moto, -7., 100)
 def __init__(self, dummy_sensory_receptor: DummySensoryReceptor):
     self.name = 'dummy_sensory'
     self.neuron_ids = nest.Create(model='hh_cond_exp_traub',
                                   n=60,
                                   params={
                                       't_ref': 2.,
                                       'V_m': -70.0,
                                       'E_L': -70.0,
                                       'g_L': 100.0,
                                       'tau_syn_ex': .2,
                                       'tau_syn_in': .5
                                   })
     self.receptor = dummy_sensory_receptor
     nest.Connect(pre=self.receptor.receptor_id,
                  post=self.neuron_ids,
                  syn_spec={
                      'model': 'static_synapse',
                      'delay': .1,
                      'weight': 0.
                  },
                  conn_spec={
                      'rule': 'fixed_outdegree',
                      'outdegree': 20,
                      'multapses': False
                  })
     nest.Connect(pre=add_multimeter(self.name), post=self.neuron_ids)
Exemplo n.º 3
0
    def __init__(self, index: int):
        self.general_right = create(40)
        self.general_left = create(40)
        self.hidden_right = create(40)
        self.hidden_left = create(40)
        self.inh = create(40)

        connect(pre=self.general_right,
                post=self.general_left,
                weight=12.,
                degree=40)
        connect(pre=self.hidden_right,
                post=self.hidden_left,
                weight=17.,
                degree=40)
        connect(pre=self.hidden_left,
                post=self.hidden_right,
                weight=17.,
                degree=40)

        connect(pre=self.general_right,
                post=self.hidden_right,
                weight=10.,
                degree=40)
        connect(pre=self.hidden_left, post=self.inh, weight=16., degree=40)
        connect(pre=self.inh,
                post=self.general_left,
                weight=-13. * Params.INH_COEF.value,
                degree=80)

        Connect(pre=add_multimeter('general_right{}'.format(index)),
                post=self.general_right)
        Connect(pre=add_multimeter('general_left{}'.format(index)),
                post=self.general_left)
        Connect(pre=add_multimeter('hidden_right{}'.format(index)),
                post=self.hidden_right)
        Connect(pre=add_multimeter('hidden_left{}'.format(index)),
                post=self.hidden_left)
        Connect(pre=add_multimeter('inh{}'.format(index)), post=self.inh)
 def __init__(self, muscle: Muscle, afferent: Afferent):
     self.name = 'afferent_{}_fiber_{}'.format(muscle.value, afferent.value)
     self.muscle = muscle
     self.afferent = afferent
     self.neuron_ids = nest.Create(model='hh_cond_exp_traub',
                                   n=60,
                                   params={
                                       't_ref': 2.,
                                       'V_m': -70.0,
                                       'E_L': -70.0,
                                       'g_L': 100.0,
                                       'tau_syn_ex': .2,
                                       'tau_syn_in': .5
                                   })
     self.receptor = Receptor(muscle=muscle, afferent=afferent)
     nest.Connect(pre=self.receptor.receptor_ids,
                  post=self.neuron_ids,
                  syn_spec={
                      'model': 'static_synapse',
                      'delay': .1,
                      'weight': 500.
                  },
                  conn_spec={'rule': 'one_to_one'})
     nest.Connect(pre=add_multimeter(self.name), post=self.neuron_ids)
Exemplo n.º 5
0
def create_with_mmeter(n: int, name: str):
    gids = create(n)
    Connect(pre=add_multimeter(name), post=gids)
    return gids