DAMP Baseline Procedure

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: February 16, 2016

Last Modified: May 25, 2023 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements a Dynamically Adjusted Motion Prediction Task (DAMP) similarly to the one described in Ullsperger & Crampon (2003).

This script implements 100% informative feedback (Experiment1).

NOTE: Ullsperger & Crampon (2003) kept the error rates constant for each participant (~40% error rate) by (dynamically) adapting the task difficulty of the task to each participant's ability. "Task difficulty" was operationalized solely as the time difference of arrival of the two balls at the finish line. No further details of the adjustment procedure are provided by U & C other than "To keep the error rate high during the first trials of the experiments, individual difficulty levels were determined in a training session (100 trials and only informative feedback) that was performed during the anatomical scans (p. 4309)."

Script DynamicallyAdjustedMotionPrediction_Baseline.iqjs implements an interweaved stairway procedure to assess individual Arrival Times Difference Thresholds. Script DynamicallyAdjustedMotionPrediction.iqjs (current one) uses the established Arrival Times Difference Threshold to keep error rate constant. Arrival Time Difference Threshold in this script: (roughly) the threshold at which participants start to guess with a 50/50 probability which ball reaches the finish line first.

References

Ullsperger, M. & Crampon v., D.Y. (2003). Error Monitoring Using External Feedback: Specific Roles of the Habenular Complex, the Reward System, and the Cingulate Motor Area Revealed by Functional Magnetic Resonance Imaging. The Journal of Neuroscience,23(10),4308–4314.

Duration

8 minutes

Description

Participants view 2 balls that travel towards a finish line starting from different screen positions at different speeds. One ball is assigned the role of 'base' (the arrival time of the base ball is kept constant across all trials in this script) and one ball is assigned the role of 'target' (the target is always faster than the base at the finish Line). Long before the balls reach the finish line, the balls disappear and participants have to predict which ball will first reach the finish line (=target). Smiley or frowny faces provide feedback for each prediction.

Procedure

Ullsperger & Crampon (2003) kept the error rates constant for each participant (~40% error rate) by (dynamically) adapting the task difficulty
of the task to each participant's ability. "Task difficulty" was operationalized solely as the time difference of arrival of the two balls
at the finish line. No more details of the adjustment procedure are provided by U & C other than "To keep the error rate high during the first
trials of the experiments, individual difficulty levels were determined in a training session (100 trials and only informative feedback)
that was performed during the anatomical scans (p. 4309)."
This script adapts a downward staircase like procedure to determine individual "arrival time difference thresholds" - roughly the
threshold arrival difference at which participants start to guess (50% error rate).

The staircase procedure is implemented as follows:
(1) one ball's arrival time is kept constant (=base) at 7000ms (default - can be edited under section Editable Parameters);
the second ball (=target) adapts its speed according to participant's performance. The target is always the ball
that arrives first at the finish line. The target starts with a predetermined arrival time difference of 1000ms (default)
in the downward staircase (DS) and 50ms in the upward staircase (US).
(2) the position of the target is randomly determined to be the top or the bottom ball (-> list.targetPosition)
(3) Different horizontal starting positions are randomly assigned to the top and bottom ball (-> list.xpos1/list.xpos2)
random assignment with constraint that positions always differ
(4) If participant correctly identifies the target as the faster ball, the arrival time difference is decreased
by a predetermined stepsize (default: 100ms - can be edited under section Editable Parameters)
if the arrival time difference drops below 100ms; the stepsize is reduced to 50ms.
If participant chooses the base instead (or does not respond in time), the arrival time difference is increased by the same stepsize.
(5) The algorithm compares two consecutive adjustments: if they are inconsistent (one decreases, the next increases),
then the current 'arrival time difference' is defined as a 'reversal point' and stored in list.reversalDiffs.
DS and US condition store their respective reversal points in the same list.
(6) After 50 trials in each staircase (order is randomly determined -> block.baselineDAMP), the procedure terminates
and the mean of all reversal points is calculated as the participant's threshold (~50% errorrate)

Stimuli

see section Editable Stimuli

Instructions

see section Editable Instructions

Summary Data

File Name: dynamicallyadjustedmotionprediction_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
estATDThreshold Established arrival time difference (ATD) threshold as the mean of all collected reversal points

Raw Data

File Name: dynamicallyadjustedmotionprediction_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
trialCountDS Counts the number of trials run in downward staircase (DS)
trialCountUS Counts the number of trials run in upnward staircase (US)
staircase 1 = downward staircase (start with big difference); 2 = upward staircase (start with small difference)
fixationDuration Stores the current fixation duration as selected from list.fixationdurations
xpos1 Stores the x-coordinate (in canvas width percentage) of the starting point of ball1
xpos2 Stores the x-coordinate (in canvas width percentage) of the starting point of ball2
basePosition 1 = base is top ball; 2 = base is bottom ball
targetPosition 1 = target is top ball (correct response is ball1); 2 = target is bottom ball (correct response is ball2)
baselineArrivalTime The constant winning arrival time in ms (default: 7000)
targetArrivalTimeDS The target arrival time (in ms) for downward staircase
targetArrivalTimeUS The target arrival time (in ms) for upward staircase
differenceArrivalTimeDS Stores the current difference in arrival Times of Ball1 and Ball2 (in ms) in downstaircase
prevDirectionDS 1 = the previous arrival time difference was decreased in downstaircase; 2 = the previous arrival time difference was decreased in downstaircase
currDirectionDS 1 = currently the arrival time difference is decreased in downstaircase; 2 = currently the arrival time difference is increased in downstaircase
differenceArrivalTimeUS Stores the current difference in arrival Times of Ball1 and Ball2 (in ms) in upstaircase
prevDirectionUS 1 = the previous arrival time difference was decreased in upstaircase; 2 = the previous arrival time difference was decreased in upstaircase
currDirectionUS 1 = currently the arrival time difference is decreased in upstaircase; 2 = currently the arrival time difference is increased in upstaircase
response The participant's response (scancode of response => 2 for 'ball 1' and 3 for 'ball 2')
responseText The response key pressed
correct The correctness of the response (1 = correct; 0 = incorrect)
accSelection 1 = selection was correct; 0 = otherwise
latency The response latency (in ms) - measured from onset of trial

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design
stepSize The up and down adjustment of the arrival time difference in ms
once the arrival time difference decreases below 100ms, the stepsize is reduced to 50ms
100
Position Parameters
xBar X-coordinate (in canvas width percentages) of the left top corner of the finish line90%
Timing Parameters
stimPresentation The presentation duration (in ms) of the moving balls1430
baselineArrivalTime The constant winning arrival time in ms7000
startdifferenceArrivalTimeDS The starting difference in arrival times in ms for the downward staircase1000
startdifferenceArrivalTimeUS The starting difference in arrival times in ms for the upward staircase
once the arrival time difference increases above 100ms, the stepsize increases to parameters.stepsize
50
responseWindow Response window in ms1500
iti Intertrial interval (in ms) btw. response trial and feedback trial750
feedbackDuration Duration (in ms) of feedback presentation1000