How to get Neuron Firing Rate


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.


Dear SimCop,

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



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
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“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.


Could you post the brain script too?

Very likely the cause lies in the network itself.