Platform for trajectory tracking experiments & data analysis
TrajTracker Paradigms: Sample scripts
Discrete-choice with custom stimuli
If the stimuli are not text, you have to create them in your own code. However, plugging them into TrajTracker is easy.
​
In this example, the stimuli are left and right arrows, so the script loads these two pictures. The rest is handled by the TrajTracker infra: on each trial, several left and right arrows appear, and the task is to choose the side to which the majority of arrows are pointing. The finger must not reach the response button before the last arrow (this is defined in the CSV trials file).
import expyriment as xpy
import trajtracker as ttrk
import trajtrackerp as ttrkp
from trajtrackerp import dchoice
if not xpy.misc.is_android_running():
xpy.control.defaults.window_mode = True
ttrk.log_to_console = True
config = dchoice.Config("ChooseArrowDir", max_movement_time=3, data_source="choice_2.csv",
use_generic_targets=True, use_text_targets=False,
feedback_stim_type='rectangle', feedback_select_by='accuracy',
feedback_place='middle',
speed_guide_enabled=True)
stimuli = {
'L': xpy.stimuli.Picture("arrow-left.bmp"),
'R': xpy.stimuli.Picture("arrow-right.bmp")
}
#-- Initialize Expyriment
exp = ttrk.initialize()
xpy.control.start(exp)
if not xpy.misc.is_android_running():
exp.mouse.show_cursor()
#-- Get subject info
(subj_id, subj_name) = ttrkp.common.get_subject_name_id()
#-- Initialize the experiment objects
exp_info = dchoice.initialize_experiment(config, exp, subj_id, subj_name)
exp_info.generic_target.available_stimuli = stimuli
exp_info.generic_target.onset_time = [0, 0.3, 0.6, 0.9, 1.2, 1.5]
exp_info.generic_target.duration = 0.1
#-- Run the experiment
dchoice.run_trials(exp_info)
#-- Shutdown Expyriment
xpy.control.end()