MCPcopy Create free account
hub / github.com/brain-workshop/brainworkshop / new_session

Function new_session

brainworkshop.py:3993–4041  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3991
3992# this function handles initiation of a new session.
3993def new_session():
3994 mode.tick = -9 # give a 1-second delay before displaying first trial
3995 mode.tick -= 5 * (mode.flags[mode.mode]['multi'] - 1 )
3996 if cfg.MULTI_MODE == 'image':
3997 mode.tick -= 5 * (mode.flags[mode.mode]['multi'] - 1 )
3998
3999 mode.session_number += 1
4000 mode.trial_number = 0
4001 mode.started = True
4002 mode.paused = False
4003 circles.update()
4004
4005 mode.sound_mode = random.choice(cfg.AUDIO1_SETS)
4006 mode.sound2_mode = random.choice(cfg.AUDIO2_SETS)
4007
4008 visuals[0].load_set()
4009 visuals[0].choose_random_images(8)
4010 visuals[0].letters = random.sample(list(sounds[mode.sound_mode ].keys()), 8)
4011 visuals[0].letters2 = random.sample(list(sounds[mode.sound2_mode].keys()), 8)
4012
4013
4014 for i in range(1, mode.flags[mode.mode]['multi']):
4015 visuals[i].load_set(visuals[0].image_set_index)
4016 visuals[i].choose_indicated_images(visuals[0].image_indices)
4017 visuals[i].letters = visuals[0].letters # I don't think these are used for anything, but I'm not sure
4018 visuals[i].letters2 = visuals[0].letters2
4019
4020 global input_labels
4021 input_labels.extend(generate_input_labels()) # have to do this after images are loaded
4022
4023
4024 mode.soundlist = [sounds[mode.sound_mode][l] for l in visuals[0].letters]
4025 mode.soundlist2 = [sounds[mode.sound2_mode][l] for l in visuals[0].letters2]
4026
4027 if cfg.JAEGGI_MODE:
4028 compute_bt_sequence()
4029
4030 if preventMusicSkipping: pyglet.clock.tick(poll=True) # Prevent music/applause skipping
4031
4032 if cfg.VARIABLE_NBACK:
4033 # compute variable n-back sequence using beta distribution
4034 mode.variable_list = []
4035 for index in range(0, mode.num_trials_total - mode.back):
4036 mode.variable_list.append(int(random.betavariate(mode.back / 2.0, 1) * mode.back + 1))
4037 field.crosshair_update()
4038 reset_input()
4039 stats.initialize_session()
4040 update_all_labels()
4041 pyglet.clock.schedule_interval(fade_out, 0.05)
4042
4043# this function handles the finish or cancellation of a session.
4044def end_session(cancelled=False):

Callers 1

on_key_pressFunction · 0.85

Calls 11

generate_input_labelsFunction · 0.85
compute_bt_sequenceFunction · 0.85
reset_inputFunction · 0.85
update_all_labelsFunction · 0.85
load_setMethod · 0.80
choose_random_imagesMethod · 0.80
tickMethod · 0.80
crosshair_updateMethod · 0.80
initialize_sessionMethod · 0.80
updateMethod · 0.45

Tested by

no test coverage detected