Mirror Tracing Persistence Task

Technical Manual

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

Created: January 02, 2024

Last Modified: January 09, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements Millisecond's version of the Computerized Mirror-Tracing Persistence Task (MTPT-C) inspired by Strong et al (2003) and described in Brown et al (2019). The MTPT-C is a test to measure distress tolerance while working on a hand eye coordination task that gets progressively more difficult.

Researchers can select to run the task with an absolute screen size to ensure that distances stay the same across devices. The default setting is to use proportional sizing. Go to section Defaults for more information.

Researcher can also set whether the 'mirroring' only applies to the y-axis (more like a mirror) or whether the x-coordinates should also be reverted. The default setting only inverts the y-coordinates in this script. See section Parameters for more information.

References

Brown, R. C., Overstreet, C., Sheerin, C., Berenz, E., Hawn, S., Pickett, T., McDonald, S., Danielson, C. K., & Amstadter, A. B. (2019). The Nomological Network of a Behavioral Distress Tolerance Task in Veterans. Journal of Traumatic Stress, 31(6), 876–885. https://doi.org/10.1002/jts.22349

Strong, D. R., Lejuez, C. W., Daughters, S. B., Marinello, M., Kahler, C. W., & Brown, R. A. (2003). The computerized mirror tracing task, version 1. In Unpublished manual.

Duration

15 minutes

Description

Participants are asked to trace three shapes in increasing levels of difficulty (e.g. straight line, square, 5-pointed star) while using the shapes' mirror images as guides. Each level is run under time-constraints. Any time a mistake (e.g. tracing outside the shape) is made or participants hesitate too long (2s), the task is started over. Level3 tasks offers a quit button. The time until participants decide to quit task 3 is taken as the main DV.

Procedure

This script runs 3 mirror tracing tasks with shapes that increase in difficulty from level1 to level3.
The shapes can be selected under section Editable Lists.
By, default this scripts runs the following fixed levels:

LEVEL1:
● Level1 a Vertical Line Tracing Task
● timeout for Level1 is 1min (default; can be edited under section Editable Parameters)

LEVEL2:
● Level2 is a Square Tracing Task
● timeout for Level2 is 3min (default; can be edited under section Editable Parameters)

LEVEL3:
● Level3 is a 5-pointed Star Tracing Task
● timeout for Level3 is 10min (default; can be edited under section Editable Parameters)
● Level3 provides a 'QUIT' button that can be pressed any time a participants wants to terminate
the task prematurely

All Levels:
Any time participants
- venture off the shape's path OR
- take too long (more than 2s) to make another move along the shape's path
a buzzer sounds and participants have to restart tracing.

you can easily set this script to use 'AdaptiveLevelTesting' (see section Editable Parameters)


Adaptive Level Testing Info
This script provides code for the following tracing tasks:
- vertical line tracing (lowest difficulty level)
- right angle tracing
- square tracing
- circle tracing
- 5-pointed star tracing

- check section Editable Parameters (-> parameters.runAdaptiveLevels) if you want to use
adaptive level testing

IF parameters.runAdaptiveLevels is set to 'TRUE', the script adapts the levels
based on performance as follows:

Level1: always the Vertical Line Tracing Task
● if completed in under half the time allotted OR less than 5 resets-> level2 = square tracing
● else -> level2 = right angle tracing

Level2:
if level2 = square
● if completed in under half the time allotted OR less than 5 resets -> level3 = star tracing
● else -> level3 = circle tracing

if level2 = right angle
● if completed in under half the time allotted OR less than 5 resets -> level3 = circle tracing
● else -> level3 = square tracing

level adjustments are not described in detail in Brown et al (2019).
The implemented adjustments were decided upon by Millisecond.

Stimuli

provided by Millisecond - can be edited under section 'Editable Stimuli'

Buzzer: recorded from freesound.org
Soundfile licensed under the Creative Commons 0 License.

Instructions

provided by Millisecond - can be edited under section 'Editable Instructions'

Summary Data

File Name: mirrortracingpersistencetask_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
tracingHand Dominant vs. non-dominant (parameter setting)
runAdaptiveLevels True (1) vs. false (0) (parameter setting)
invertXAxis True (1) vs. false (0) ( the y-axis coordinates are always inverted/mirrored) (parameter setting)
Performance Performance Metrics
level1Task Name of shape run as level1
level1DurationMS Duration spent on level1
level1TrialCount Number of trials started on level1
level1Success 1 = level1 was successfully completed; 0 = otherwise
level2Task Name of shape run as level2
level2DurationMS Duration spent on level2
level2TrialCount Number of trials started on level2
level2Success 1 = level2 was successfully completed; 0 = otherwise
level3Task Name of shape run as level3
level3DurationMS Duration spent on level3 (whether or not quit button was pressed)
level3TrialCount Number of trials started on level3
level3Success 1 = level3 was successfully completed; 0 = otherwise
level3Quit 1 = participant pressed quit-button to terminate level3; 0 = otherwise (This is the main stress related Dependent Variable)
level3QuitRT The duration (in ms) spent on level3 until the quit button was pressed
(if quit button was NOT pressed, this variable will be empty)

Raw Data

File Name: mirrortracingpersistencetask_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
tracingHand Dominant vs. non-dominant (parameter setting)
runAdaptiveLevels True (1) vs. false (0) (parameter setting)
invertXAxis True (1) vs. false (0) ( the y-axis coordinates are always inverted/mirrored) (parameter setting)
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.
level 1,2, or 3
tracingShape Line, rightAngle, square, circle, star
countTrials Number of trials started for the current shape
success 1 = shape successfully completed; 0 = otherwise
taskDurationMS The duration (in ms) spent on the task
level3Quit 1 = participant pressed quit-button to terminate level3; 0 = otherwise
response The response of participant (scancode of response button)
correct Correctness of response (1 = correct, 0 = error)
latency Response latency (in ms); measured from

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Color Parameter
canvasColor Display color of the actively used portion of the screen (the 'canvas')
if set to a color other than the screenColor, the active canvas
appears 'anchored' on the screen regardless of monitor size
white
screenColor Color of the screen not used by the canvas ('inactive screen')black
defaultTextColor Default color of text items presented on active canvasblack
Sizing Parameters
tracingLineHeightPct The height of the TracingLine in canvas height percentage30%
tracingSquareHeightPct The height of the TracingSquare in canvas height percentage35%
tracingCircleDiameterPct The diameter of the circle in canvas height percentage35%
tracingStarheightPct The height of the TracingStar in canvas height percentage45%
trackWidthPct The width of the tracing track in canvas height percentage
the width is slightly changed for the star task; this is done automatically by the script
2%
pencilWidthPct The width of the tracing line (drawn by participant) in canvas height percentage1%
targetZoneDiameterPct The diameter of the target (also start) zone in canvas height percentage5%
Design - Level1 Is Always The Line Tracing Task Regardless Of Setting Of Parameters.Runadaptivelevels
runAdaptiveLevels True: level1 = line tracing; level2/level3 adaptive
the right angle OR a square depending on how difficult the line task was
for participant (difficulty of a task estimated via completion time and performance)
false: no adaptive levels are run (choose fixed sequence of tests below under Editable LIsts)
false
showTaskTimer True = a watch is presented on screen that displays how much is left for the current task
false = no watch is presented on screen
true
invertXAxis True = the mirror inverts the vertical AND horizontal cursor positions (even more challenging)
false = the mirror inverts ONLY the vertical cursor positions ('true' mirroring)
false
tracingHand Choose from: "dominant", "non-dominant", "left", "right""dominant"
Timing Parameters
trialTimeoutMS Movement timeout in ms: if no tracing movement is detected after this time,
the trial times out and participant has to restart
2000
level1TimeoutMS The timeout (in ms) for level1 task60000
level2TimeoutMS The timeout (in ms) for level2 task180000
level3TimeoutMS The timeout (in ms) for level3 task600000