Exemplo n.º 1
0
def generateGao09e1(vpn):
    ''' Experiment 1 from Gao et al. (2009)
        Gao, T., Newman, G. E., & Scholl, B. J. (2009).
        The psychophysics of chasing: A case study in
        the perception of animacy.
        Cognitive psychology, 59(2), 154-179.
        vpn - tuple of ints, each value gives the subject id
    '''
    # gao09e1 settings
    # TODO move settings to Settings.py
    nrtrials=15
    maze=EmptyMaze((1,1),dispSize=(32,24),lw2cwRatio=0)
    chs=[0,60,120,180,240,300]
    Q.setTrialDur(10);Q.phiRange=(120,120)
    Q.setpDirChange([5.9,5.9,5.9])
    block=0
    #os.chdir('..')
    os.chdir('..')
    os.chdir('input/')
    for vp in vpn:
        vpname='vp%03d' % vp
        os.mkdir(vpname)
        os.chdir(vpname)
        i=0
        r=np.zeros((2*6*nrtrials,2))
        r[:,0]=np.random.permutation(2*6*nrtrials)
        for cond in range(6):
            for trial in range(nrtrials):
                Q.phiRange=(Q.phiRange[0],chs[cond])
                trajectories=None
                while trajectories ==None:
                    trajectories=generateTrial(5,maze=maze,
                        rejectionDistance=5.0)
                #target present trial
                r[i,1]=cond 
                fn='gao09e1%sb%dtrial%03d'% (vpname,block,i); 
                np.save(fn,trajectories[:,:-1,:]);i+=1
                #target absent trial
                r[i,1]=cond+6
                fn='gao09e1%sb%dtrial%03d'% (vpname,block,i); 
                np.save(fn,trajectories[:,1:,:]);i+=1

        np.save('gao09e1order%sb%d'% (vpname,block),r)
        Q.save('SettingsTraj.pkl')
        os.chdir('..')
    os.chdir('..')
Exemplo n.º 2
0
def generateBabyExperiment(vpn,nrtrials=10,blocks=1,conditions=[6,8],rd=0,pdch=None,
        dispSize=29,maze=None):
    '''my work in progress, baby experiment'''
    #os.chdir('..')
    if not pdch is None: Q.setpDirChange(pdch)
    os.chdir(Q.inputPath)
    mazes=[]
    Q.nrframes+= Q.refreshRate *5
    print 'Generating Trajectories'
    for vp in vpn:
        vpname='vp%03d' % vp
        os.mkdir(vpname)
        os.chdir(vpname)
        r=[]
        phase=[0,1,1,2]
        for i in range((len(conditions)*nrtrials-len(phase))/2):
            if np.random.rand()>0.5: phase.extend([1,2])
            else: phase.extend([2,1])
        print 'phase', phase
        for block in range(blocks):
            i=0
            for condition in conditions:
                for trial in range(nrtrials):
                    if condition==conditions[0]: 
                        if np.random.rand()>0.5: r.extend([trial, trial+nrtrials])
                        else: r.extend([trial+nrtrials,trial])
                    trajectories=None
                    while trajectories ==None:
                        trajectories=generateTrial(condition, 
                            maze=EmptyMaze((1,1),dispSize=(dispSize,dispSize)),rejectionDistance=rd)
                    #fn='%str%03dcond%02d'% (vpname,trial,conditions[order[trial]])
                    #fn = 'trial%03d' % trial
                    trajectories=trajectories[(Q.refreshRate*5):]
                    #print trajectories.shape
                    fn='%sb%dtrial%03d'% (vpname,block,i)
                    i+=1
                    print fn
                    np.save(fn,trajectories)
            #r=np.random.permutation(nrtrials*len(conditions))
            r=np.array(r)
            print r
            np.save('order%sb%d'% (vpname,block),r)
            np.save('phase%sb%d'% (vpname,block),phase)
            Q.save('SettingsTraj.pkl')
        os.chdir('..')
    os.chdir('..')