def run_loop(params): external_field, radii = params print 'radii: ', radii cort_neuron = MLEF.MorrisLecarElectricField(0.2, soma_current=lambda t: soma_current[t], external_field=lambda t: external_field, p=0.2) MLEF.run_neurons([cort_neuron], run_time) synapse = S.EventTrace(cort_neuron.datas[:,0], peak=0.2) effe_neuron = HH.HodgkinHuxley_passive(radii, I=lambda t: synapse.result_trace[t]) HH.run_neurons([effe_neuron], run_time) return effe_neuron.datas[:,0]
import numpy as np import matplotlib.pyplot as plt import MorrisLecarElectricField as MLEF import HodgkinHuxley as HH import EventTrace as S import Muscles as M run_time = 200 input_current = np.abs(30 + 50*np.sin(100 * np.linspace(0, 0.1, run_time / 0.1))) input_current = 40 * np.ones(run_time / 0.1) cort_neuron = MLEF.MorrisLecarElectricField(soma_current=lambda t: input_current[t]) MLEF.run_neurons([cort_neuron], run_time) synapse = S.EventTrace(cort_neuron.datas[:,0], peak=0.2) effe_neuron = HH.HodgkinHuxley_passive(I=lambda t: synapse.result_trace[t]) HH.run_neurons([effe_neuron], run_time) muscle_fiber0 = M.MuscleFiber(effe_neuron, 1, 5.0, 7.0) muscle_fiber1 = M.MuscleFiber(effe_neuron, 5, 40, 80.0) muscle = M.MotorUnit([muscle_fiber0, muscle_fiber1], 2, ) plt.figure() plt.subplot(511) plt.plot(input_current) plt.subplot(512) plt.plot(cort_neuron.datas[:,0]) plt.subplot(513) plt.plot(synapse.result_trace) plt.subplot(514) plt.plot(effe_neuron.datas[:,0]) plt.subplot(515) plt.plot(muscle.total_force)
def run_internal(self): HH.run_neurons(self.efferent_neurons, self.run_time)