Script Author: David Nitz (dave@millisecond.com), Millisecond
Last Modified: January 29, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
The IMT/DMT was developed to support the systematic study of sustained attention, working memory, and impulsivity in higher functioning populations. It provides an alternative to the Continuous Performance Test (CPT).
This script implements the test session.
Dougherty, D.M., Marsh, D.M., and Mathias, C.W. (2002). Immediate and Delayed Memory Tasks: A computerized measure of memory, attention, and impulsivity. Behavior Research Methods, Instruments, and Computers, 34, 391-398.
23 minutes
Participants view a steady stream of 5-digit (default) numbers and are asked to click the Mouse button if the current target number is identical to the one before it. 2 slightly different conditions: A) Delayed: the target numbers are followed by three distractor numbers. The distractor numbers are always the same number (12345). B) Immediate: target numbers follow target numbers immediately. No distractors are used.
Experimenter can select via parameters.taskType which conditions (and in which order) participant runs through
the task(s)
1 => only IMT task (for practice: 2 repetitions)
2 => only DMT task (for practice: 2 repetitions)
3 => IMT task -> DMT task (for practice: once per task)
4 => DMT task -> IMT task (for practice: once per task)
target numbers (identical repeats): exact repeat of the last presented 5-digit number
catch numbers (similar numbers): 5-digit numbers (default) that differ by only 1 digit from the previous number
(and are not equal to distractor items)
filler numbers (different numbers): randomly generated 5-digit numbers that differ in at least 2 digits from
the previous number (and are not equal to distractor items)
Numbers are presented black on white. Size can be set via parameters.stimSize
This script implements a testing session for the IMTDMT task.
The instructions for this script can be found in script imtdmt_test_instructions_inc.iqjs
In Inquisit a screenshot can be saved any time a participant is presented a
performance summary for the current block.
To do so, go to trial.dmtSummaryTrial/trial.imtSummaryTrial
File Name: imtdmtTestSummary*.iqdat
| Name | Description |
|---|---|
| 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 |
| nDigits | Number of digits for stimuli. Valid range is 2-7. Default is 5. Default is "1234567". The distractor string will automatically be cropped to the correct length as specified by nDigits. |
Imt |
|
| imtTotalCorrectDetections | Total number of correct detections across all IMT blocks. |
| imtNTargetTrialsTotal | Total number of Target trials across all IMT blocks. |
| imtCorrectDetectionsPctTotal | Computes the percentage of correct detections across all IMT blocks. |
| imtTotalCommissionErrors | Total number of Commission errors across all IMT blocks. |
| imtNCatchTrialsTotal | Total number of Catch trials across all IMT blocks. |
| imtCommissionErrorsPctTotal | Computes the percentage of Commission errors across all IMT blocks. |
| imtTotalFillerErrors | Total number of Filler errors across all IMT blocks. |
| imtNFillerTrialsTotal | Total number of Filler trials across all IMT blocks. |
| imtFillerErrorsPctTotal | Computes the percentage of Filler errors across all IMT blocks. |
| imtMeanTargetLatencyTotal | Computes the mean RT for responses to Target stimuli across all IMT blocks. |
| imtMeanCatchLatencyTotal | Computes the mean RT for responses to Catch stimuli across all IMT blocks. |
| imtHr | Computes the hit-rate across all IMT blocks. |
| imtFr | Computes the false-alarm-rate across all IMT blocks. |
| imtDPrime | Computes d' for the IMT (parametric measure of discriminability). |
| imtAPrime | Computes ß (beta) for the IMT (parametric measure of bias). |
| imtBeta | Computes A' for the IMT ("nonparametric" measure of discriminability). |
| imtBd | Computes B''d for the IMT ("nonparametric" measure of bias; cf. Donaldson, 1992). |
Dmt |
|
| dmtBlockCount | Number of DMT blocks run. |
| dmtTotalCorrectDetections | Total number of correct detections across all DMT blocks. |
| dmtNTargetTrialsTotal | Total number of Target trials across all DMT blocks. |
| dmtCorrectDetectionsPctTotal | Computes the percentage of correct detections across all DMT blocks. |
| dmtTotalCommissionErrors | Total number of Commission errors across all DMT blocks. |
| dmtNCatchTrialsTotal | Total number of Catch trials across all DMT blocks. |
| dmtCommissionErrorsPctTotal | Computes the percentage of Commission errors across all DMT blocks. |
| dmtTotalFillerErrors | Total number of Filler errors across all DMT blocks. |
| dmtNFillerTrialsTotal | Total number of Filler trials across all DMT blocks. |
| dmtFillerErrorsPctTotal | Computes the percentage of Filler errors across all DMT blocks. |
| dmtTotalDistractorErrors | Total number of Distractor errors across all DMT blocks. |
| dmtNDistractorTrialsTotal | Total number of Distractor trials across all DMT blocks. |
| dmtDistractorErrorsPctTotal | Computes the percentage of Distractor errors across all DMT blocks. |
| dmtMeanTargetLatencyTotal | Computes the mean RT for responses to Target stimuli across all DMT blocks. |
| dmtMeanCatchLatencyTotal | Computes the mean RT for responses to Catch stimuli across all DMT blocks. |
| dmtHr | Computes the hit-rate across all DMT blocks. |
| dmtFr | Computes the false-alarm-rate across all DMT blocks. |
| dmtDPrime | Computes d' for the DMT (parametric measure of discriminability). |
| dmtAPrime | Computes ß (beta) for the DMT (parametric measure of bias). |
| dmtBeta | Computes A' for the DMT ("nonparametric" measure of discriminability). |
| dmtBd | Computeds B''d for the DMT ("nonparametric" measure of bias; cf. Donaldson, 1992). |
Parameter Settings Used |
|
File Name: imtdmtTestRaw*.iqdat
| Name | Description |
|---|---|
| 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. |
| response | The participant's response (scancode of response buttons) |
| responseText | Label of response button |
| correct | Accuracy of response: 1 = correct response; 0 = otherwise |
| latency | The response latency (in ms); measured from: onset of target |
| imtBlockCount | Number of IMT blocks run |
| dmtBlockCount | Number of DMT blocks run |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| taskType | 1 = Run IMT only 2 = Run DMT only 3 = Run IMT -> DMT alternatingly 4 = Run DMT -> IMT alternatingly | 3 |
| nBlocksPerTask | Number of blocks per task. I.e., with taskType=3 and nBlocksPerTask=2, there will be 2 IMT blocks and 2 DMT blocks in alternating order. Notes For taskType=1 and taskType=2, nBlocksPerTask should be set to 4. For taskType=3 and taskType=4, nBlocksPerTask should be set to 2. | 2 |
| nDigits | Number of digits for stimuli. Valid range is 2-7. | 5 |
| distractor | Type of distractor. Valid options are "1234567" and "0000000". The distractor string will automatically be cropped to the correct length as specified by nDigits. | "1234567" |
| dmtNDistractors | Number of consecutive distractor trials this variable was fixed in the original IMTDMT program | 3 |
| minhDist | Minimum number of digits that need to differ between a new filler stimulus and a previous stimulus this variable was fixed in the original IMTDMT program | 2 |
| targetProbability | Probability of target stims | 33 |
| catchProbability | Probability of catch stims. | 33 |
| fillerProbability | Probability of filler stims (100-targetProbability-catchProbability) "target-, catch- and fillerProbability *must* add up to 100! The above probabilities only apply to individual trials. | 34 |
Sizing/Location Parameters |
||
| stimSize | Size of digit stimuli in canvas height proportion; Adjust to suit your display size / resolution. Dougherty et al. recommend a height of approx. 33 mm for all (digit) stimuli. | 8% |
Timing Parameters |
||
| minLatency | The minimum latency that is accepted for a true response this value was fixed in the original IMTDMT procedure | 100 |
| blockDuration | Duration of a single task block in ms | 300000 |
| restDuration | Duration of rest period between task blocks in ms. Recommended values range between 15000 and 30000. restDuration can be set to 0 to run blocks without any breaks between them. | 30000 |
| stimulusDuration | Display duration of digit stimulus. | 500 |
| blackoutDuration | Blackout duration after stimulus display. | 500 |
Debugging Parameter |
||
| showDebugInfo | 1 = displays red debugging info on the screen; 0 = debugging info cannot be seen | 0 |