示例#1
0
    def run_exp(self, test_mode=False):
        libtime.expstart()
        self.user_interface.show_experiment_start_screen()
#        self.user_interface.show_practice_start_screen()
            
        for i in range(1, N_BLOCKS+1):
            # Taking club-deck as reference, 
            # REMEMBER: rewards[0] is reward for T; rewards[1] is L         
            block_info = self.run_block(i)
            
            self.data_access.write_block_log(block_info)
                    
            # Here the value is changed in every block / iteration of 'for' loop
            # So it starts with e.g. is_take_left = True and changed after the next iteration to = False, 
            # and after the second iteration the False is Not more (i.e., True)
            # TODO: implement different ways of counterbalancing (alternating vs. random)
#            if COUNTERBALANCE == 'alternate':
#                is_take_left = not is_take_left
#            else:
#                is_take_left = not is_take_left
        self.eye_tracker.close()    
        libtime.pause(500)
        
        self.user_interface.show_experiment_end_screen()
        
        # With this function ALL of the screens are ended
        self.user_interface.close()
示例#2
0
 def run_exp(self):
     libtime.expstart()
     self.user_interface.show_intro_screen()
     
     for block_no in range(1, PRACTBLOCKNR+1):
         self.run_block(SESSION_NO, block_no, PRACTBLOCKSIZE, is_practice = True)
     
     scores = []
     for block_no in range(PRACTBLOCKNR+1, PRACTBLOCKNR+RECBLOCKNR+1):
         score = self.run_block(SESSION_NO, block_no, RECBLOCKSIZE, is_practice = False)
         scores.append(score)
     self.user_interface.show_end_experiment_screen(scores)
     
     self.eye_tracker.close()
     self.user_interface.close()
示例#3
0
def main():

	# create keyboard object
	#kb = keyboard.Keyboard()

	#disp = display.Display(dispsize = [GetSystemMetrics(0), GetSystemMetrics(1)])
	#scr = screen.Screen(dispsize = [GetSystemMetrics(0), GetSystemMetrics(1)])
	# display and screen object
	# Wait to initilaze eye tracker until plugged in
	# create eyelink object
	# eyelink_tacker = pylink.EyeLink("100.1.1.1")
	# eyetracker = EyeTracker(disp)
	# eyelink calibration
	# eyetracker.calibrate()

	# Load a yoga and geometry video
	yoga = cv2.VideoCapture('images/yoga_video_1.avi')
	shapes = cv2.VideoCapture('images/geometry_video_1.avi')


	# start timing
	libtime.expstart()

	while(True):
	    # Capture frame-by-frame
		ret1, frame1 = yoga.read()
		ret2, frame2 = shapes.read()

		colored_vid1 = cv2.cvtColor(frame1, cv2.IMREAD_COLOR)
		colored_vid2 = cv2.cvtColor(frame2, cv2.IMREAD_COLOR)

		# listen for a keypress and close when 'q' is pressed
		if cv2.waitKey(1) & 0xFF == ord('q'):
			break

		matrix = np.hstack((colored_vid1, colored_vid2))
	    # Display the resulting frame
		cv2.imshow('video', matrix)
		cv2.setWindowProperty('video', cv2.WND_PROP_FULLSCREEN, 1)

		sleep(0.02)


	# When everything done, release the capture
	cv2.destroyAllWindows()
示例#4
0
def main(imagePath):

    # start timing
    libtime.expstart()
    # create keyboard object
    kb = keyboard.Keyboard()
    # display and screen object
    disp = display.Display(dispsize=[GetSystemMetrics(0), GetSystemMetrics(1)])
    scr = screen.Screen(dispsize=[GetSystemMetrics(0), GetSystemMetrics(1)])
    '''
	Screw pylink.  This library is impossible
	tracker = pylink.EyeLink("100.1.1.1")
	'''

    # eyelink calibration
    #eyetracker.calibrate()

    disp.fill(scr)

    while kb.get_key()[0] == None:
        pass  # Do nothing

    disp.close()
示例#5
0
from constants import *
from pygaze import libtime
from pygaze.libscreen import Display, Screen
from pygaze.eyetracker import EyeTracker
from pygaze.libinput import Keyboard
from pygaze.liblog import Logfile
from pygaze.libgazecon import FRL

# timing and initialization
libtime.expstart()

# visuals
disp = Display()
scr = Screen()

# eye tracking
tracker = EyeTracker(disp, trackertype='dummy')
frl = FRL(pos='center', dist=125, size=200)

# input collection and storage
kb = Keyboard(keylist=['escape', 'space'], timeout=None)
log = Logfile()
log.write(["trialnr", "trialstart", "trialend", "duration", "image"])

# run trials
tracker.calibrate()
for trialnr in range(0, len(IMAGES)):
    # blank display
    disp.fill()
    disp.show()
    libtime.pause(1000)
flicker_cycle = np.ones(cycle_size)
for x in range(flicker_time):
    flicker_cycle[0 + x::flicker_time * 2] = -1
swap = cycle_size

# In[Timing Debug]:

sec_from_hz = 1 / float(refresh)
#timing = [sec_from_hz * trial for trial in range(len(flicker_block))]
timing = [sec_from_hz * trial for trial in range(len(flicker_cycle))]

# In[Wait for Pulse]:

if inScanner:
    event.waitKeys(keyList=['='])
    timer.expstart()
    fmri_clock.reset()
    t0 = fmri_clock.reset()
else:
    event.waitKeys(keyList=['space'])
    timer.expstart()
    fmri_clock.reset()
    t0 = fmri_clock.reset()

# In[Initiate Trial Stimuli]:

#draw fixate point, will not change throughout experiment
fixate.size = 5
fixate.draw()
win.flip()