import pygame, sys import random from neurodot_present.present_lib import Screen, FixationCross, CheckerBoardFlasher, bell, UserEscape, run_start_sequence, run_stop_sequence pygame.init() TASK_DURATION = 30 #seconds FC = FixationCross() try: #start sequence run_start_sequence() #setup task CBF = CheckerBoardFlasher(flash_rate=0) #no flashing CBF.setup_checkerboard(64) black_SCR = Screen(color = "black",fixation_cross = FC) #run sequence CBF.run(duration = TASK_DURATION, vsync_value = 1) black_SCR.run(duration = 1, vsync_value = 0) bell() black_SCR.run(duration = 5, vsync_value = 0) black_SCR.run(duration = TASK_DURATION, vsync_value = 2) black_SCR.run(duration = 1, vsync_value = 0) bell() except UserEscape: print "User stopped the sequence" except Exception, err: raise err finally:
FLASH_DURATION = 8 #seconds PAUSE_DURATION_RANGE = (2.0,5.0) FC = FixationCross() #CBFs try: #start sequence run_start_sequence() #trials for b in range(BLOCKS): stims = REPITITIONS*zip(FLASH_RATES, VSYNC_VALUES) random.shuffle(stims) for flash_rate, vsync_value in stims: CBF = CheckerBoardFlasher(flash_rate=flash_rate) CBF.setup_checkerboard(nrows = CHECKERBOARD_NROWS, show_fixation_dot = True) CBF.run(duration = FLASH_DURATION, vsync_value = vsync_value) SCR = Screen(color = "black", fixation_cross = FC) pause_duration = random.uniform(*PAUSE_DURATION_RANGE) SCR.run(duration = pause_duration, vsync_value = 0) except UserEscape as exc: print exc finally: #stop sequence run_stop_sequence() #exit print "Exiting the presentation" pygame.quit() sys.exit()