def test_get_spikes(load_data): gen_current = load_data['group_gen_current'] spike_time = load_data['spike_time'] py_spike_time = np.array(lif_model.get_spikes(gen_current)) cy_spike_time = np.array(cy_lif_model.get_spikes(gen_current)) assert np.allclose(py_spike_time, cy_spike_time) assert np.allclose(spike_time, py_spike_time) assert np.allclose(spike_time, cy_spike_time)
# gen_current = sed_to_group_current(fine_time, fine_stress, tau1_s, tau2_m, k1_m, 'gen', MC_GROUPS) # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_l, tau2_m, k1_m, 'gen', MC_GROUPS) # # Change tau2 # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_m, tau2_s, k1_m, 'gen', MC_GROUPS) # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_m, tau2_l, k1_m, 'gen', MC_GROUPS) # # Change k1 # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_m, tau2_m, k1_s, 'gen', MC_GROUPS) # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_m, tau2_m, k1_l, 'gen', MC_GROUPS) # New approach 1: modify parameters # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_ap1, tau2_ap1, k1_ap1, 'mc', MC_GROUPS) # New approach 2: add a mechanism # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_m, tau2_ap2, k1_ap2, 'mc', MC_GROUPS) # New approach 3: add K to neurite mechanism # gen_current = sed_to_group_current(fine_time, fine_stress, tau1_ap3, tau2_ap3, k1_ap3, 'mc', MC_GROUPS) # %% Current to spike calculation spike_time = get_spikes(gen_current) spike_time = np.array(spike_time) spike_trace = spike_time_to_trace(spike_time) inst_fr = np.r_[0, 1000/np.diff(spike_time)] inst_fr_index = spike_trace[:, 1].nonzero()[0] inst_fr_time = inst_fr_index * LIF_RESOLUTION # %% Stress to spike calculations for looped sinusoid stimulations # freq_set = np.array([5, 10, 20]) # stress_range = np.arange(0, 1500, 50) # stress_len = stress_range.shape[0] # spike_array = [] # for freq in freq_set: # for stress_val in stress_range: # print(freq, ', ', stress_val) # sin_stress = stress_val*np.sin(2*np.pi*(fine_time)*freq) # fine_stress = sin_stress.copy()