Beispiel #1
0
 def checkTrial(self):
     if (self.thisTrial < self.numTrials):
         self.container1.grid_forget()
         another_trial = Choice(self.myParent, self.myBlockData, self.myPics, (self.thisTrial + 1), self.possibleTimes, self.picqueue)
     else:
         self.myBlockData['time_end'] = misc.getCurrTime() 
         self.container1.grid_forget()
         our_breakinstance = our_break.Break(self.myParent, self.myBlockData, self.myPics)
Beispiel #2
0
    def cycleVis(self, event=None):
        #kill extraneous after stuff, in case of keyboard interrupt
        if (self.currAfter):
            self.myParent.after_cancel(self.currAfter)

        #default choice made
        self.currTrialData['choice_made'] = 0
        #pics have been shuffled already
        if (self.visState == 0):
            self.imageTuple = self.picqueue.pop()
            self.image1 = self.imageTuple[0]
            self.currTrialData['pic_id'] = self.imageTuple[2]
            self.photoimage1 = ImageTk.PhotoImage(self.image1)
            self.picLabel.configure(image = self.photoimage1)
            self.picLabel.grid(column=0, row=1)
            #self.currTime = self.getNextTime()
            self.currTrialData['time_begin'] = misc.getCurrTime()
            self.currTrialData['pic_length'] = 200
            self.currAfter = self.myParent.after(2000, self.cycleVis)
        elif (self.visState == 1):
            self.currTrialData['time_end'] = misc.getCurrTime()
            self.imageFile = "./blankscreen.jpg"
            self.image1 = Image.open(self.imageFile)
            self.photoimage1 = ImageTk.PhotoImage(self.image1)
            self.picLabel.configure(image = self.photoimage1)
            self.currTrialData['mask_begin'] = misc.getCurrTime()
            self.currAfter = self.myParent.after(1000, self.cycleVis)
        elif (self.visState == 2):
            self.currTrialData['mask_end'] = misc.getCurrTime()
            self.image2 = self.imageTuple[1]
            self.photoimage2 = ImageTk.PhotoImage(self.image2)
            self.picLabel.configure(image = self.photoimage2)
            self.currTrialData['time2_begin'] = misc.getCurrTime()
            self.currTrialData['time2_end'] = misc.getCurrTime()
            self.currAfter = self.myParent.after(2000, self.cycleVis)
            gc.collect()
        elif (self.visState == 3):
            self.picLabel.grid_forget()
            self.choice1.grid(column=0, row=1, sticky=(N, W, S))
            self.choice2.grid(column=1, row=1, sticky=(N, E, S))
        elif (self.visState == 4):
            self.choice1.grid_forget()
            self.choice2.grid_forget()
            self.feedbackLabel.configure(text=self.getFeedback(self.currTrialData['choice_made'], self.currTrialData['pic_id']))
            self.feedbackLabel.grid(column=0, row=1)
            self.currAfter = self.myParent.after(500, self.checkTrial)
        self.visState += 1
        if (self.visState > 4):
            self.visState = 0
Beispiel #3
0
 def toChoiceCallback(self, event):
     ''' toChoiceCallback
     pressed in block screen, goes to choice screen'''
     self.container1.grid_forget()
     self.myBlockData['time_begin'] = misc.getCurrTime()
     choiceinstance = choice.Choice(self.myParent, self.myBlockData, self.myPics, 0)
Beispiel #4
0
 def choice1Callback(self, event):#eventually, we can just call choice again
     self.currTrialData["choice_made"] = 1 
     self.currTrialData['time_click'] = misc.getCurrTime()
     misc.postData(self.currTrialData, "www.stanford.edu", "/group/pdplab/cgi-bin/mobiletrialscript.php")
     self.cycleVis()
Beispiel #5
0
 def choice2Callback(self, event):
     self.currTrialData["choice_made"] = -1
     self.currTrialData['time_click'] = misc.getCurrTime()
     misc.postData(self.currTrialData, "www.stanford.edu", "/group/pdplab/cgi-bin/mobiletrialscript.php")
     self.cycleVis()