Script Author: Sean Draine, Ph.D. (seandr@millisecond.com), Millisecond
Last Modified: January 05, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a computerized version of the Trail-Making Test (4 trails included). The trial making test is an executive function test of visual attention and task switching.
The script only runs on screens that are at least W:L = 118mm : 153mm (Note: ios and Android devices force a vertical layout for this script)
Armitages, S. G. (1946) An analysis of certain psychological rests used for the evaluation of brain injury. Psychological Monographs, 60, 1.
Reitan, R. M. (1958). Validity of the Trail Making Test as an Indicator of Organic Brain Damage. Perceptual and Motor Skills, 8, 271-276.
5 minutes
Participants are asked to move the mouse in specific, predetermined sequences from nodes to nodes.
This script runs 4 trails (sampleA, trailA, sampleB, trailB)
this script allows researchers to selectively run only one of the tasks if needed.
Check Editable Parameters: parameters.runA and parameters.runB
By default, this script runs both tasks
are provided in the included scripts
in script trailmakingtest.iqjs (language specific)
File Name: trailmakingtest_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 1 = the current screen is a touchscreen 0 = the current screen is not a touchscreen |
| 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 |
Screen Performance Metrics |
|
| screenOK | 0 = screen is not big enough (script should terminate); 1 = screen is big enough |
| display.getmmx(display.width) | The width of the current screen in mm |
| display.getmmy(display.height) | The height of the current screen in imm |
Parameter Values |
|
| parameters.runA | True = the script runs SampleA/Trail1 false = the script does NOT runs SampleA/Trail1 |
| parameters.runB | True = the script runs SampleB/Trail2 false = the script does NOT runs SampleB/Trail2 |
Summary Performance Metrics |
|
| sampleAErrors | Counts the errors made on SampleA Trail |
| sampleATime | Time (in ms) spent on SampleA Trail |
| sampleBErrors | Counts the errors made on SampleB Trail |
| sampleBTime | Time (in ms) spent on SampleB Trail |
| trail1Errors | Counts the errors made on Trail1 |
| trail1Time | Time (in ms) spent on Trail1 |
| trail2Errors | Counts the errors made on Trail2 |
| trail2Time | Time (in ms) spent on Trail2 |
| combinedErrors | Adds errors made on all 4 trails |
| combinedTrailTime | Combines the time (in ms) it took all 4 trails |
File Name: trailmakingtest_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 1 = the current screen is a touchscreen 0 = the current screen is not a touchscreen |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
Screen Performance Metrics |
|
| screenOK | 0 = screen is not big enough (script should terminate); 1 = screen is big enough |
| display.getmmx(display.width) | The width of the current screen in mm |
| display.getmmy(display.height) | The height of the current screen in imm |
Parameter Values |
|
| parameters.runA | True = the script runs SampleA/Trail1 false = the script does NOT runs SampleA/Trail1 |
| parameters.runB | True = the script runs SampleB/Trail2 false = the script does NOT runs SampleB/Trail2 |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| startDotNumber | Specifies the current dot that participant is on |
| targetDotNumber | Specifies the current dot that needs to be connected next |
| sampleAErrors | Counts the errors made on SampleA Trail |
| trail1Errors | Counts the errors made on Trail1 |
| sampleBErrors | Counts the errors made on SampleB Trail |
| trail2Errors | Counts the errors made on Trail2 errorTrailSampleA- |
| errorTrailTrail2 | Saves all missed circles in the order made for each trail separately |
| sampleATime | Time (in ms) spent on SampleA Trail |
| trail1Time | Time (in ms) spent on Trail1 |
| sampleBTime | Time (in ms) spent on SampleB Trail |
| trail2Time | Time (in ms) spent on Trail2 |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| showTestErrorFeedback | True = a yellow halo is presented over the correct circle (default) false = no extra errorfeedback is given (incorrect path is still erased however) | |
| runA | True = the script runs SampleA/Trail1 false = the script does NOT runs SampleA/Trail1 | |
| runB | True = the script runs SampleB/Trail2 false = the script does NOT runs SampleB/Trail2 |