def connecting_to_pkl(pkl_name, lvm_filepath): cue_pkl_file = open(pkl_name, 'rb') ori = pkl.load(cue_pkl_file) odor1, odor2, lick, pump, action, airpuff, laser = make_list(lvm_filepath) print(sum(laser)) dlaser = np.array(diff(laser)) print(sum(np.abs(dlaser))) odor1_lick, odor2_lick = make_gonogolick(odor1, odor2, lick, delay=200) odor1_action, odor1_airpuff, odor1_pump, odor1_laser, odor2_action, odor2_airpuff, odor2_pump, odor2_laser = div_by_odor( odor1, odor2, action, airpuff, pump, laser, delay=200) lasers = 0 for i in range(np.alen(odor1_laser[:, 1])): if np.sum(odor1_laser[i, 0:200]) > 10: lasers += 1 for i in range(np.alen(odor2_laser[:, 1])): if np.sum(odor2_laser[i, 200]) > 10: lasers += 1 print(lasers) print(np.sum(odor1_laser)) print(np.sum(odor2_laser)) odor1_lick = np.delete(odor1_lick, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor2_lick = np.delete(odor2_lick, [0, 1], 0) odor1_action = np.delete(odor1_action, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor1_airpuff = np.delete(odor1_airpuff, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor1_pump = np.delete(odor1_pump, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor1_laser = np.delete(odor1_laser, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor2_action = np.delete(odor2_action, [0, 1], 0) odor2_airpuff = np.delete(odor2_airpuff, [0, 1], 0) odor2_pump = np.delete(odor2_pump, [0, 1], 0) odor2_laser = np.delete(odor2_laser, [0, 1], 0) print("1") ori['odor1_lick'] = np.vstack((ori['odor1_lick'], odor1_lick)) ori['odor2_lick'] = np.vstack((ori['odor2_lick'], odor2_lick)) ori['odor1_action'] = np.vstack((ori['odor1_action'], odor1_action)) ori['odor1_airpuff'] = np.vstack((ori['odor1_airpuff'], odor1_airpuff)) ori['odor1_pump'] = np.vstack((ori['odor1_pump'], odor1_pump)) ori['odor1_laser'] = np.vstack((ori['odor1_laser'], odor1_laser)) ori['odor2_action'] = np.vstack((ori['odor2_action'], odor2_action)) ori['odor2_airpuff'] = np.vstack((ori['odor2_airpuff'], odor2_airpuff)) ori['odor2_pump'] = np.vstack((ori['odor2_pump'], odor2_pump)) ori['odor2_laser'] = np.vstack((ori['odor2_laser'], odor2_laser)) tr, ti = np.shape(ori['odor1_lick']) ntr, nti = np.shape(ori['odor2_lick']) out_file = open(pkl_name, 'wb') pkl.dump(ori, out_file) out_file.close() cue_pkl_file.close() print("3") print(lvm_filepath + " has been added ! now whole odor1 trial number is " + str(tr) + '. odor2 tn is ' + str(ntr)) return pkl_name
ndid = -1 odor1_trial = 0 odor2_trial = 0 odor2_lick = 0 odor2_nlick = 0 stop = 0 first = 0 trials = 0 now_trial = 0 odor = 0 trial_position = [] odor1_posit = [] odor2_posit = [] first_licked = numpy.zeros(1900) odor1_changed = diff(odor1) odor2_changed = diff(odor2) lick_changed = diff(lick) # print(sum(numpy.abs(lick_changed))) pump_changed = diff(pump) air_changed = diff(airpuff) action_changed = diff(action) #print(sum(numpy.abs(action_changed))) for k in range(len(odor1_changed)): if ((odor1_changed[k] == 1) and (odor1[k + 50] == 1)): trials += 1 odor1_trial += 1 # go_trial_position.append(k) elif ((odor2_changed[k] == 1) and (odor2[k + 50] == 1)): trials += 1
import numpy as np from go.funcs import make_list, diff from go.funcs import div_by_laser, make_gonogolick, div_by_odor path = "F:/gonogodata/nodelay/laser" raw_file = '#3_gonogo20laser_d5_odor2_1.lvm' filename = path + "/" + raw_file name, _ = raw_file.split(".") delay = 0 odor1, odor2, lick, pump, action, airpuff, laser = make_list(filename) firstlick_row_odor_col_laser = np.zeros( (5, 3, 2, 2) ) # 3 dims, first is number of oppo trials before trial onset, rows are odor. # the last dim means trial number of specific contition odor1_changed = diff(odor1) odor2_changed = diff(odor2) lick_changed = diff(lick) laser_trial = 0 odor1_trial = 0 odor2_trial = 0 trials = 0 time = -1 maxtime = 0 trial_start = 0 for k in range(len(odor1_changed)): if ((odor1_changed[k] == 1) and (odor1[k + 50] == 1)): trials += 1 odor1_trial += 1 if time > maxtime: maxtime = time
def make_lvm_to_pkl(lvm_filepath): resultpath = 'F:/ACC-Camk2/0109~gonogo/gonogopkl' a = lvm_filepath.split('/') filename = a[-1] #print(filename) name, *_ = filename.split('.') result_filename = name + '.pkl' files = os.listdir(resultpath) if result_filename in files: print(result_filename + " is already exist! skip~") return resultpath + '/' + name + '.pkl' #print(name) odor1, odor2, lick, pump, action, airpuff, laser = make_list(lvm_filepath) print(sum(laser)) dlaser = np.array(diff(laser)) print(sum(np.abs(dlaser))) odor1_lick, odor2_lick = make_gonogolick(odor1, odor2, lick, delay=200) #print(np.sum(odor1_lick)) odor1_action, odor1_airpuff, odor1_pump, odor1_laser, odor2_action, odor2_airpuff, odor2_pump, odor2_laser = div_by_odor( odor1, odor2, action, airpuff, pump, laser, delay=200) # lasers = 0 # for i in range(np.alen(odor1_laser[:,1])): # if np.sum(odor1_laser[i,0:200]) > 10: # lasers += 1 # for i in range(np.alen(odor2_laser[:,1])): # if np.sum(odor2_laser[i,0:200]) > 10: # lasers += 1 print(np.sum(odor1_laser)) print(np.sum(odor2_laser)) # print(np.sum(np.abs(np.diff(odor1_laser)))) # print(np.sum(np.abs(np.diff(odor2_laser)))) tr, ti = np.shape(odor1_lick) #print(tr, ti) odor1_lick = np.delete(odor1_lick, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor2_lick = np.delete(odor2_lick, [0, 1], 0) odor1_action = np.delete(odor1_action, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor1_airpuff = np.delete(odor1_airpuff, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor1_pump = np.delete(odor1_pump, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor1_laser = np.delete(odor1_laser, [0, 1, 2, 3, 4, 5, 6, 7], 0) odor2_action = np.delete(odor2_action, [0, 1], 0) odor2_airpuff = np.delete(odor2_airpuff, [0, 1], 0) odor2_pump = np.delete(odor2_pump, [0, 1], 0) odor2_laser = np.delete(odor2_laser, [0, 1], 0) result_dict = { 'odor1_lick': odor1_lick, 'odor2_lick': odor2_lick, 'odor1_action': odor1_action, 'odor1_airpuff': odor1_airpuff, 'odor1_pump': odor1_pump, 'odor1_laser': odor1_laser, 'odor2_action': odor2_action, 'odor2_airpuff': odor2_airpuff, 'odor2_pump': odor2_pump, 'odor2_laser': odor2_laser } result_filename = resultpath + '/' + name + '.pkl' output = open(result_filename, 'wb') pkl.dump(result_dict, output) #print(result_dict.items()) output.close() return result_filename
import numpy as np import pickle as pkl import sys, os sys.path.append("C:/Users/manggny/PycharmProjects/Project-pre/func") from go.funcs import make_list, diff from go.funcs import div_by_laser, make_gonogolick, div_by_odor lvm_filepath = 'F:/ACC-Camk2/0109~gonogo/gonogo test with laser/#2_gta_gonogolaser_0118_odor1_2.lvm' resultpath = 'F:/ACC-Camk2/0109~gonogo/gonogopkl' #print(name) odor1, odor2, lick, pump, action, airpuff, laser = make_list(lvm_filepath) print(sum(laser)) dlaser = np.array(diff(laser)) dodor1 = np.array(diff(odor1)) print(sum(np.abs(dlaser))) odor1_lick, odor2_lick = make_gonogolick(odor1, odor2, lick, delay=200) #print(np.sum(odor1_lick)) numpy_ordor = [] odor1_action, odor1_airpuff, odor1_pump, odor1_laser, odor2_action, odor2_airpuff, odor2_pump, odor2_laser = div_by_odor( odor1, odor2, action, airpuff, pump, laser, delay=200) for i in range(np.alen(odor1_laser[:, 1])): if np.sum(odor1_laser[i, 0:200]) > 10: numpy_ordor.append(1) else: numpy_ordor.append(0) print(numpy_ordor)