Exemplo n.º 1
0
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
Exemplo n.º 2
0
        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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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)