How to get Neuron Firing Rate


#1

Dear All,

I’m trying to get neuron firing rate, that i set in a transfer function, in another transfer function. But when I use “nrp.population_rate” i don’t receive the correct value that i put as firing rate. How can I resolve this problem? Thank you.


#2

Dear SimCop,

Could you please post here the code of your TFs? It’d make the discussion easier.

Thanks


#3

Dear ualbanes

In this transfer function, called propagate angular cells spike, i set the firing rate of two neuron:
import hbp_nrp_cle.tf_framework as nrp
@nrp.MapSpikeSource(“red_angular_cell”,nrp.brain.angular_cells[0:1],nrp.poisson)
@nrp.MapSpikeSource(“blue_angular_cell”,nrp.brain.angular_cells[1:2],nrp.poisson)
@nrp.MapSpikeSink(“cell_red”,nrp.brain.cells[0:1],nrp.spike_recorder)
@nrp.MapSpikeSink(“cell_blue”,nrp.brain.cells[1:2],nrp.spike_recorder)
@nrp.Robot2Neuron()
def propagate_angular_cells_spike (t,red_angular_cell,blue_angular_cell,cell_red,cell_blue):

if cell_red.spiked:
    red_angular_cell.rate = 45.0
elif cell_blue.spiked:
    blue_angular_cell.rate = 45.0

In this transfer function i need to get the firing rate of blue_angular_cell but the value is not the same:

import hbp_nrp_cle.tf_framework as nrp
from hbp_nrp_cle.robotsim.RobotInterface import Topic
import geometry_msgs.msg

@nrp.MapSpikeSource(“output_neuron”, nrp.brain.output_layer[0:1], nrp.poisson)
@nrp.MapSpikeSink(“angular”, nrp.brain.angular_cells[1:2], nrp.population_rate)
@nrp.Neuron2Robot(Topic(’/husky/husky/cmd_vel’, geometry_msgs.msg.Twist))
def turn_around (t, output_neuron,angular):
output_neuron.rate = 1.0
clientLogger.info(“Angular_rate”,angular.rate)

In the log console the angular rate value is more of less the double of the original value. I would to use the angular rate value to move my robot but i don’t know why the value is not correct.


#4

Could you post the brain script too?

Very likely the cause lies in the network itself.