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])
Exemplo n.º 2
0
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(
Exemplo n.º 3
0
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)