コード例 #1
0
def muscimol_plot_sound_type(animal,
                             muscimolSessions,
                             salineSessions,
                             soundType,
                             fontsize=12):
    muscimolData = behavioranalysis.load_many_sessions(animal,
                                                       muscimolSessions)

    trialsSoundTypeMus = muscimolData['soundType'] == muscimolData.labels[
        'soundType'][soundType]
    rightTrialsMus = (muscimolData['choice'] == muscimolData.labels['choice']
                      ['right'])[trialsSoundTypeMus]
    freqEachTrialMus = muscimolData['targetFrequency'][trialsSoundTypeMus]
    validMus = muscimolData['valid'][trialsSoundTypeMus]


    (possibleValues,fractionHitsEachValue,ciHitsEachValue,nTrialsEachValue,nHitsEachValue)=\
       calculate_psychometric(rightTrialsMus,freqEachTrialMus,validMus)
    (plineM, pcapsM, pbarsM,
     pdotsM) = extraplots.plot_psychometric(1e-3 * possibleValues,
                                            fractionHitsEachValue,
                                            ciHitsEachValue,
                                            xTickPeriod=1)
    plt.xlabel('Frequency (kHz)', fontsize=fontsize)
    plt.ylabel('Rightward trials (%)', fontsize=fontsize)
    extraplots.set_ticks_fontsize(plt.gca(), fontsize)

    setp(plineM, color='r')
    setp(pcapsM, color='r')
    setp(pbarsM, color='r')
    setp(pdotsM, markerfacecolor='r')

    salineData = behavioranalysis.load_many_sessions(animal, salineSessions)

    trialsSoundTypeSal = salineData['soundType'] == salineData.labels[
        'soundType'][soundType]
    rightTrialsSal = (salineData['choice'] == salineData.labels['choice']
                      ['right'])[trialsSoundTypeSal]
    freqEachTrialSal = salineData['targetFrequency'][trialsSoundTypeSal]
    validSal = salineData['valid'][trialsSoundTypeSal]


    (possibleValues,fractionHitsEachValue,ciHitsEachValue,nTrialsEachValue,nHitsEachValue)=\
       calculate_psychometric(rightTrialsSal,freqEachTrialSal,validSal)
    (plineS, pcapsS, pbarsS,
     pdotsS) = extraplots.plot_psychometric(1e-3 * possibleValues,
                                            fractionHitsEachValue,
                                            ciHitsEachValue,
                                            xTickPeriod=1)

    title("{}, {}".format(animal, soundType))
コード例 #2
0
def muscimol_plot(animal, muscimolSessions, salineSessions):
    muscimolData = behavioranalysis.load_many_sessions(animal,
                                                       muscimolSessions)
    plineM, pcapsM, pbarsM, pdotsM = behavioranalysis.plot_frequency_psycurve(
        muscimolData)
    setp(plineM, color='r')
    setp(pcapsM, color='r')
    setp(pbarsM, color='r')
    setp(pdotsM, markerfacecolor='r')

    salineData = behavioranalysis.load_many_sessions(animal, salineSessions)
    plineS, pcapsS, pbarsS, pdotsS = behavioranalysis.plot_frequency_psycurve(
        salineData)
    # setp(plineS, color='r')
    # setp(pcapsS, color='r')
    # setp(pbarsS, color='r')
    # setp(pdotsS, markerfacecolor='r')
    title(animal)
コード例 #3
0
animal = 'adap027'
nAnimals = len(animals)

muscimolSessions = ['20160601a', '20160603a', '20160607a']
salineSessions = ['20160531a', '20160602a', '20160606a']

salChordEsts = np.zeros([len(salineSessions), 4])
musChordEsts = np.zeros([len(muscimolSessions), 4])

plt.figure()

for indSession, session in enumerate(salineSessions):
    ax = subplot2grid((2, len(muscimolSessions)), (0, indSession))

    sdata = behavioranalysis.load_many_sessions(animal, [session])
    salChordEsts[indSession,:] = plot_psycurve_fit_and_data(sdata, 'k')
    behavioranalysis.nice_psycurve_settings(ax, fontsize=9, lineweight=2)
    plt.ylim(-0.03, 1.03)

for indSession, session in enumerate(muscimolSessions):

    ax = subplot2grid((2, len(muscimolSessions)), (1, indSession))

    mdata = behavioranalysis.load_many_sessions(animal, [session])
    musChordEsts[indSession,:] = plot_psycurve_fit_and_data(mdata, 'r')
    # title('{},{}'.format(animal, 'chords'))

    plt.ylim(-0.03, 1.03)
    behavioranalysis.nice_psycurve_settings(ax, fontsize=9, lineweight=2)
コード例 #4
0
                   'adap022': ['20160601a', '20160603a', '20160607a', '20160609a', '20160611a'],
                   'adap026': ['20160601a', '20160603a', '20160607a', '20160609a', '20160611a'],
                   'adap027': ['20160601a', '20160603a', '20160607a', '20160609a', '20160611a'],
                   'adap030': ['20160601a', '20160603a', '20160607a', '20160609a', '20160611a']
}

salChordEsts = np.zeros([nAnimals, 4])
musChordEsts = np.zeros([nAnimals, 4])


for indAnimal, animal in enumerate(animals):

    # ax = subplot2grid((1, nAnimals), (0, indAnimal))
    ax = subplot(2, 3, indAnimal)

    mdata = behavioranalysis.load_many_sessions(animal, muscimolSessions[animal])
    sdata = behavioranalysis.load_many_sessions(animal, salineSessions[animal])

    musChordEsts[indAnimal,:] = behavioranalysis.plot_psycurve_fit_and_data(mdata, 'r')
    salChordEsts[indAnimal,:] = behavioranalysis.plot_psycurve_fit_and_data(sdata, 'k')


    plt.ylim(-0.03, 1.03)
    behavioranalysis.nice_psycurve_settings(ax, fontsize=9, lineweight=2, fitlineinds=[3, 7])

    title(animal)

mc = musChordEsts[:,1]
sc = salChordEsts[:,1]

figure()
コード例 #5
0
    return percentCorrectSoundType * 100


clf()
animal = 'amod003'
muscimolSessions = ['20160413a', '20160415a', '20160417a', '20160419a']
salineSessions = ['20160412a', '20160414a', '20160416a', '20160418a']

subplot(221)
muscimol_plot_sound_type(animal, muscimolSessions, salineSessions, 'chords')

subplot(223)
muscimol_plot_sound_type(animal, muscimolSessions, salineSessions, 'amp_mod')

#Overall muscimol and saline performance
muscimolData = behavioranalysis.load_many_sessions(animal, muscimolSessions)
muscimolChords = percent_correct_sound_type(muscimolData, 'chords')
muscimolMod = percent_correct_sound_type(muscimolData, 'amp_mod')

salineData = behavioranalysis.load_many_sessions(animal, salineSessions)
salineChords = percent_correct_sound_type(salineData, 'chords')
salineMod = percent_correct_sound_type(salineData, 'amp_mod')

#Individual session muscimol and saline performance

for indp, pair in enumerate(zip(salineSessions, muscimolSessions)):

    salineFile = loadbehavior.path_to_behavior_data(
        animal, settings.DEFAULT_EXPERIMENTER, '2afc', pair[0])
    salineData = loadbehavior.BehaviorData(salineFile, readmode='full')
コード例 #6
0
from jaratest.nick import behavioranalysis_vnick as behavioranalysis
'''
Test data analysis for adap023 - this needs work because all of my muscimol overview reports are currently written for data with different sound types


As part of this work, I need to work on my behavioranalysis fxns


'''

# behavior_summary('adap023', ['20160426a', '20160427a','20160428a','20160429a',   '20160430a', '20160501a', '20160502a', '20160503a', '20160504b','20160505a','20160506a','20160507a','20160508a','20160509a', '20160510a']) #left

## -- Plotting the average saline and muscimol psycurves
#NOTE THE b in 0504 below
salineSessions = [
    '20160428a', '20160430a', '20160502a', '20160504b', '20160506a',
    '20160508a'
]
muscimolSessions = [
    '20160429a', '20160501a', '20160503a', '20160505a', '20160507a',
    '20160509a'
]

salineData = behavioranalysis.load_many_sessions('adap023', salineSessions)
muscimolData = behavioranalysis.load_many_sessions('adap023', muscimolSessions)

behavioranalysis.plot_multiple_psycurves([salineData, muscimolData],
                                         ['k', 'r'])