from jaratest.nick import behavioranalysis_vnick as ba animals = ['amod002', 'amod003'] sessions = ['20160426a', '20160427a', '20160428a', '20160429a'] side = [0, 1, 0, 1] #0 - Right, 1 - Left allnCorr = [] allnVal = [] allfracCorr = [] sessionInds = [] animalInds = [] sides = [] for indAnimal, animal in enumerate(animals): for indSession, session in enumerate(sessions): (bdataObjs, bdataSoundTypes) = ba.load_behavior_sessions_sound_type( animal, [session]) bdata = bdataObjs[0] #analyze chord discrim nCorr = sum(bdata['outcome'] == bdata.labels['outcome']['correct']) nVal = sum(bdata['valid']) allfracCorr.append(nCorr.astype(float) / nVal) allnCorr.append(nCorr) allnVal.append(nVal) sessionInds.append(indSession) animalInds.append(indAnimal) sides.append(side[indSession])
import pypsignifit from jaratoolbox import extrastats from jaratoolbox import extraplots from jaratest.nick import behavioranalysis_vnick as behavioranalysis muscimolSessions = [ '20160413a', '20160415a', '20160417a', '20160519a', '20160921a' ] salineSessions = [ '20160412a', '20160414a', '20160416a', '20160518a', '20160520a' ] animal = 'amod002' #Load the data objects for the muscimol and saline sessions muscimolDataObjs, muscimolSoundTypes = behavioranalysis.load_behavior_sessions_sound_type( animal, muscimolSessions) salineDataObjs, salineSoundTypes = behavioranalysis.load_behavior_sessions_sound_type( animal, salineSessions) #Testing with a single bdata object hold(1) bdata = salineDataObjs[0] bdata = muscimolDataObjs[0] #Calculate hit trials, freq each trial, valid - then calc psychometric rightTrials = bdata['choice'] == bdata.labels['choice']['right'] freqEachTrial = bdata['targetFrequency'] valid = bdata['valid'] (possibleValues, fractionHitsEachValue, ciHitsEachValue, nTrialsEachValue, nHitsEachValue) = behavioranalysis.calculate_psychometric(
from jaratest.nick import behavioranalysis_vnick as behavioranalysis from jaratoolbox import extraplots from jaratoolbox import colorpalette animal = 'amod004' session = '20160502a' dataObjs, soundTypes = behavioranalysis.load_behavior_sessions_sound_type( animal, [session]) figure() clf() bdata = dataObjs[soundTypes['tones']] ax = subplot(121) est = plot_psycurve_fit_and_data(bdata, 'k') extraplots.boxoff(ax) extraplots.set_ticks_fontsize(ax, 20) fitline = ax.lines[3] setp(fitline, lw=3) setp(fitline, color=colorpalette.TangoPalette['Chameleon2']) # pcaps= ax.lines[0] # pbars = ax.lines[2] # setp(pcaps, lw=2) # setp(pbars, lw=2) xticklabels = [item.get_text() for item in ax.get_xticklabels()] xticks = ax.get_xticks() newXtickLabels = logspace(xticks[0], xticks[-1], 3, base=2) plt.ylim(-0.03, 1.03) ax.set_xticks(np.log2(np.array(newXtickLabels))) ax.set_xticklabels(['{:.3}'.format(x / 1000.0) for x in newXtickLabels])
# animals = ['amod004'] animals = ['amod002', 'amod003'] muscimolSessions = {'amod004':['20160427a', '20160429a', '20160501a', '20160503a', '20160505a', '20160507a', '20160509a'], 'amod002':['20160413a', '20160415a', '20160417a', '20160419a', '20160421a'], 'amod003':['20160413a', '20160415a', '20160417a', '20160419a', '20160421a']} salineSessions = {'amod004':['20160426a', '20160428a', '20160430a', '20160502a', '20160504a', '20160506a', '20160508a'], 'amod002':['20160412a', '20160414a', '20160416a', '20160418a', '20160420a'], 'amod003':['20160412a', '20160414a', '20160416a', '20160418a', '20160420a']} nAnimals = len(animals) plt.figure() salChordEsts = np.zeros([nAnimals, 4]) musChordEsts = np.zeros([nAnimals, 4]) salModEsts = np.zeros([nAnimals, 4]) musModEsts = np.zeros([nAnimals, 4]) for indAnimal, animal in enumerate(animals): muscimolDataObjs, muscimolSoundTypes = behavioranalysis.load_behavior_sessions_sound_type(animal, muscimolSessions[animal]) salineDataObjs, salineSoundTypes = behavioranalysis.load_behavior_sessions_sound_type(animal, salineSessions[animal]) mdataChords = muscimolDataObjs[muscimolSoundTypes['chords']] sdataChords = salineDataObjs[salineSoundTypes['chords']] mdataMod = muscimolDataObjs[muscimolSoundTypes['amp_mod']] sdataMod = salineDataObjs[salineSoundTypes['amp_mod']] # mdataChords = muscimolDataObjs[muscimolSoundTypes['tones']] # sdataChords = salineDataObjs[salineSoundTypes['tones']] # mdataMod = muscimolDataObjs[muscimolSoundTypes['amp_mod']] # sdataMod = salineDataObjs[salineSoundTypes['amp_mod']] subplot2grid((2, nAnimals), (0, indAnimal))
axhline(50, color = '0.7') axhline(100, color = '0.7') margins(0.2) plt.subplots_adjust(bottom=0.2) title(animal) ylabel('Average Percent Correct') show() #### Need to start moving towards loading the data already split by sound type and then using generic fxns from behavioranalysis and extraplots animal = 'amod002' dataObjs, dataSoundTypes = behavioranalysis.load_behavior_sessions_sound_type(animal, ['20160421a']) for bdata in dataObjs bdata = dataObjs[0] hitTrials = bdata['choice']==bdata.labels['choice']['right'] paramValueEachTrial = bdata['targetFrequency'] valid = bdata['valid'] (possibleValues,fractionHitsEachValue,ciHitsEachValue,nTrialsEachValue,nHitsEachValue) = behavioranalysis.calculate_psychometric(hitTrials, paramValueEachTrial, valid) clf() extraplots.plot_psychometric(possibleValues,fractionHitsEachValue,ciHitsEachValue)