Как я могу получить общее время Psychopy

Я провел эксперимент на Psychopy. У меня есть Инструкции, 10 различных процедур, а затем сообщение заканчивается.

Я могу иметь все время, необходимое для каждой процедуры, но я хотел бы иметь общее время моих 10 процедур без необходимости вычислять его самостоятельно в моем CSV-файле в конце.

Код для моей продолжительности каждого испытания. Я поместил эту строку в каждую процедуру.

thisExp.addData('trial_duration1', t)

Я попытался создать переменную total и добавить все trip_duration, но в конце мой столбец в CSV-файле был пуст.

Спасибо!!


person bim1    schedule 09.01.2018    source источник


Ответы (1)


У Psychopy есть внутренние часы, которые запускаются, когда начинается эксперимент. Вы можете прочитать время, используя core.monotonicClock.getTime(). Отсчет времени этих часов начинается почти сразу после того, как вы нажмете «Выполнить», то есть до диалогового окна, поэтому они не считывают время с момента запуска первой процедуры. Однако вы можете получить эту продолжительность, сначала записав время часов в компоненте кода, когда вы хотите, чтобы нулевое время было определено:

time_zero = core.monotonicClock.getTime()

... а затем запишите время, затраченное на выполнение

thisExp.addData('cumulative_duration', core.monotonicClock.getTime() - time_zero)

Обратите внимание, что если вы хотите сделать это только для определенных циклов (например, определить time_zero в первом цикле и записать cumulative_duration в последнем цикле), необходимо выполнить условие:

# If this is the first iteration of the loop (no matter the name of the loop)
if currentLoop.thisN == 0:
    time_zero = core.monotonicClock.getTime()
person Jonas Lindeløv    schedule 09.01.2018