run_fI_curve_neuron_model.py 718 B

12345678910111213141516171819202122232425
  1. from brian2 import *
  2. import numpy as np
  3. from scripts.models import hodgkin_huxley_eqs, hodgkin_huxley_params
  4. from scripts.spatial_network.head_direction_index_over_noise_scale import calculate_rates
  5. inputs = np.arange(0, 1, 0.025) * nA
  6. eqs = hodgkin_huxley_eqs+'''
  7. ih = 0*amp: amp'''
  8. ng = NeuronGroup(len(inputs), model=eqs, method="exponential_euler", threshold="v>0*mV",
  9. refractory="v>0*mV", namespace=hodgkin_huxley_params)
  10. ng.I = inputs
  11. spike_monitor = SpikeMonitor(ng)
  12. net = Network(ng, spike_monitor)
  13. net.run(1000 * ms)
  14. rates = calculate_rates(spike_monitor.spike_trains().values())
  15. plt.plot(inputs / nA, rates/hertz)
  16. plt.ylim(0, np.max(rates/hertz)*1.05)
  17. plt.xlim()
  18. plt.grid()
  19. plt.show()