top of page
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',



stimuli = {

    'L': xpy.stimuli.Picture("arrow-left.bmp"),

    'R': xpy.stimuli.Picture("arrow-right.bmp")




#-- Initialize Expyriment

exp = ttrk.initialize()


if not xpy.misc.is_android_running():



#-- 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



#-- Shutdown Expyriment


bottom of page