Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 02, 2014
Last Modified: January 03, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script runs a Spatial Processing Task designed to target spatial orientation rotation and short-term memory. The implemented procedure is based on Englund et al (1987).
Englund, C.E., Reeves. D.L., Shingledecker, C.A., Thorne, D.R., Wilson, K.P., & Hegge. F.W. (1987). Unified Tri-Service Cognitive Performance Assessment Battery (UTC-PAB) I. Design and Specification of the Battery. Report No. 87-10, Naval Health Research Center, P 0 BOX 85122, San Diego, CA 92138 Naval Medical Research and Development Command, Bethesday, MD (task description: p.26)
20 minutes
Participants are presented sequentially with two 2,4, or 6 bar histograms. The first histogram is the target histogram. It is always presented in the vertical, upright position. The second histogram is the comparison histogram. It can be rotated clockwise 0deg, 90/270deg, or 180deg. The task is to decide as fast as possible if the comparison histogram is congruent or incongruent to the target. Englund et al (1987) run: - 2bar histograms rotated by 0 degrees as a low cognitive demand condition - 6bar histograms rotated by 90/270 degrees as a medium cognitive demand condition - 2bar histograms rotated by 180 degrees as the a cognitive demand condition
The default setup of this script conforms with this setup. However, by changing parameter settings any bar histogram (2, 4, 6 bars) can be run in the 0degree, 90degree or 180degree rotation condition. Check out section Editable Parameters.
Number of bars (2, 4, 6) are tested blockwise. Each of the 3 bar condition runs:
1. Practice: 1 practice block
2. Test: 1 test block
• Each training/test block lasts 3min by default (Editable Value). Number of training and test blocks
can be set under Editable Values.
• Congruence is randomly sampled (with replacement) with the same probability for congruent and incongruent histograms
(controlled via list.congruence)
• Congruence key assignment can be counterbalanced via groupnumber (odd and even groupnumbers run
the opposite key assignment)
Trial Set-Up:
1) Target Histogram presented for 3s (default, Editable Value) with the label '1' under it
2) followed by an interstimulus screen of 1s, presents a masking stim (default, Editable Value)
3) Comparison Histogram presented with the label '2' under it
a) Training: 15s duration
b) Test: 1.5s (2 bars), 2.5s (4 bars) and 3.5s (6bars) durations
Only responses that are given within those time limits are accepted. A valid response
immediately ends the histogram presentation.
4) Any left-over time (response was given before time limit was up) is added to a blank screen acting as an
intertrial interval (iti)
(for training: for iti purposes the time limits used for the test are used to determine the iti duration)
2, 4, 6 bar Histograms presented in an (invisible) 6 x 6 matrix
The height of each bar (1-6) is determined randomly with the constraint that no
height can be repeated for a given histogram.
Instructions are not original to the task. They are provided by Millisecond
and can be edited in script 'spatialprocessingtask_instructions_inc.iqjs'
File Name: spatialprocessingtask_summary*.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 |
| propCorrectOverall | Overall proportion correct responses |
| meanRTOverall | Overall mean latency (in ms) of correct responses |
| propCorrect2bars0 | Proportion correct responses to 2-bar histograms rotated at 0degrees |
| propCongruent2bars0 | Proportion congruent 2-bar histograms rotated at 0degrees |
| meanRT2bars0 | Mean latency (in ms) of correct responses to 2-bar histograms rotated at 0degrees |
| propCorrect2bars90 | Proportion correct responses to 2-bar histograms rotated at 90degrees |
| propCongruent2bars90 | Proportion congruent 2-bar histograms rotated at 90degrees |
| meanRT2bars90 | Mean latency (in ms) of correct responses to 2-bar histograms rotated at 90degrees |
| propCorrect2bars180 | Proportion correct responses to 2-bar histograms rotated at 180degrees |
| propCongruent2bars180 | Proportion congruent 2-bar histograms rotated at 180degrees |
| meanRT2bars180 | Mean latency (in ms) of correct responses to 2-bar histograms rotated at 180degrees |
| propCorrect4bars0 | Proportion correct responses to 4-bar histograms rotated at 0degrees |
| propCongruent4bars0 | Proportion congruent 4-bar histograms rotated at 0degrees |
| meanRT4bars0 | Mean latency (in ms) of correct responses to 4-bar histograms rotated at 0degrees |
| propCorrect4bars90 | Proportion correct responses to 4-bar histograms rotated at 90degrees |
| propCongruent4bars90 | Proportion congruent 4-bar histograms rotated at 90degrees |
| meanRT4bars90 | Mean latency (in ms) of correct responses to 4-bar histograms rotated at 90degrees |
| propCorrect4bars180 | Proportion correct responses to 4-bar histograms rotated at 180degrees |
| propCongruent4bars180 | Proportion congruent 4-bar histograms rotated at 180degrees |
| meanRT4bars180 | Mean latency (in ms) of correct responses to 4-bar histograms rotated at 180degrees |
| propCorrect6bars0 | Proportion correct responses to 6-bar histograms rotated at 0degrees |
| propCongruent6bars0 | Proportion congruent 6-bar histograms rotated at 0degrees |
| meanRT6bars0 | Mean latency (in ms) of correct responses to 6-bar histograms rotated at 0degrees |
| propCorrect6bars90 | Proportion correct responses to 6-bar histograms rotated at 90degrees |
| propCongruent6bars90 | Proportion congruent 6-bar histograms rotated at 90degrees |
| meanRT6bars90 | Mean latency (in ms) of correct responses to 6-bar histograms rotated at 90degrees |
| propCorrect6bars180 | Proportion correct responses to 6-bar histograms rotated at 180degrees |
| propCongruent6bars180 | Proportion congruent 6-bar histograms rotated at 180degrees |
| meanRT6bars180 | Mean latency (in ms) of correct responses to 6-bar histograms rotated at 180degrees |
File Name: spatialprocessingtask_raw*.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. |
| training | 1 = training block; 0 = test block |
| nrBars | 2, 4, or 6 histogram bars |
| rotation | 0 (same), 90 (counterclockwise rotation by 90 degrees), 270 (clockwise rotation by 90 degrees), 180 |
| congruence | 1 = target and comparison histogram are congruent 2 = target and comparison histogram are incongruent |
| countTrials2bars0 | Counts the number of trials presenting 2 bar histograms rotated by 0 degrees |
| countTrials2bars90 | Counts the number of trials presenting 2 bar histograms rotated by 90 degrees counterclockwise |
| countTrials2bars270 | Counts the number of trials presenting 2 bar histograms rotated by 90 degrees clockwise |
| countTrials2bars180 | Counts the number of trials presenting 2 bar histograms rotated by 180 degrees |
| countTrials4bars0 | Counts the number of trials presenting 4 bar histograms rotated by 0 degrees |
| countTrials4bars90 | Counts the number of trials presenting 4 bar histograms rotated by 90 degrees counterclockwise |
| countTrials4bars270 | Counts the number of trials presenting 4 bar histograms rotated by 90 degrees clockwise |
| countTrials4bars180 | Counts the number of trials presenting 4 bar histograms rotated by 180 degrees |
| countTrials6bars0 | Counts the number of trials presenting 6 bar histograms rotated by 0 degrees |
| countTrials6bars90 | Counts the number of trials presenting 6 bar histograms rotated by 90 degrees counterclockwise |
| countTrials6bars270 | Counts the number of trials presenting 6 bar histograms rotated by 90 degrees clockwise |
| countTrials6bars180 | Counts the number of trials presenting 6 bar histograms rotated by 180 degrees |
| response | The participant's response (scancode of response key) 30 = A 38 = L |
| resp | The pressed response key indicates: "congruent", "incongruent", "no response" (= trial timed out before active response was given) |
| correct | The correctness of the response: 1 = correct; 0 = otherwise (incorrect key responses + no responses) |
| responseAcc | "correct response", "incorrect response", "no response" (= trial timed out before active response was given) |
| latency | The response latency in ms; measured from: onset of second histogram |
| nrBoxes11 - nrBoxes61 | Number of boxes (=height) of bars used for 2, 4, and 6 bar target histograms |
| nrBoxes12 - nrBoxes62 | Number of boxes (=height) of bars used for 2, 4, and 6 bar comparison histograms |
| valid | Debug helper variable that stores whether the incongruent comparison stimuli is really incongruent (1 = incongruent; 0 = accidentally congruent for incongruent trial => the trial should be considered invalid) the algorithm used to determine bar heights for incongruent comparison histograms (see EXPRESSIONS) should prevent that accidental congruent histograms are used for incongruent histograms. |
Debugging Variable |
|
| graphs | Stores the colors of each box for graph1 and graph2 |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| nrTrainingBlocks2Bars | Number of training blocks to be run for 2-bar condition if set to 0 2 bar histograms are not run | 1 |
| nrTestBlocks2Bars | Number of test blocks to be run for the for 2-bar condition | 1 |
| nrTrainingBlocks4Bars | Number of training blocks to be run for 4-bar condition if set to 0 4 bar histograms are not run | 1 |
| nrTestBlocks4Bars | Number of test blocks to be run for the for 4-bar condition | 1 |
| nrTrainingBlocks6Bars | Number of training blocks to be run for 6-bar condition if set to 0 6 bar histograms are not run | 1 |
| nrTestBlocks6Bars | Number of test blocks to be run for the for 6-bar condition | 1 |
| run2Bars0 | True (1): blocks with 2 bars run 0-rotation histograms false (0): blocks with 2 bars do not run 0-rotation histograms | true |
| run2Bars90 | True (1): blocks with 2 bars run 90/270-rotation histograms false (0): blocks with 2 bars do not run 90/270-rotation histograms | false |
| run2Bars180 | True (1): blocks with 2 bars run 180-rotation histograms false (0): blocks with 2 bars do not run 180-rotation histograms | false |
| run4Bars0 | True (1): blocks with 4 bars run 0-rotation histograms false (0): blocks with 4 bars do not run 0-rotation histograms | false |
| run4Bars90 | True (1): blocks with 4 bars run 90/270-rotation histograms false (0): blocks with 4 bars do not run 90/270-rotation histograms | true |
| run4Bars180 | True (1): blocks with 4 bars run 180-rotation histograms false (0): blocks with 4 bars do not run 180-rotation histograms | false |
| run6Bars0 | True (1): blocks with 6 bars run 0-rotation histograms false (0): blocks with 6 bars do not run 0-rotation histograms | false |
| run6Bars90 | True (1): blocks with 6 bars run 90/270-rotation histograms false (0): blocks with 6 bars do not run 90/270-rotation histograms | false |
| run6Bars180 | True (1): blocks with 6 bars run 180-rotation histograms false (0): blocks with 6 bars do not run 180-rotation histograms | true |
Response Keys |
||
| responseKeyLeft | The left (QWERTY keyboard) response key | "A" |
| responseKeyRight | The right (QWERTY keyboard) response key response keys are counterbalanced by groupnumber, see section EXPERIMENT | "L" |
Appearance Of Histograms |
||
| boxHeight | Sets the size of the 36 boxes | 10% |
| showIndividualBoxes | True: individual boxes are shown (horizontal spacing as well as vertical spacing is shown) false: only bars are shown (only vertical spacing is shown) | false |
| xMatrix | Left matrix coordinate | 27% |
| yMatrix | Top coordinates of the matrix | 15% |
| spacing | Manipulates the space between bars | 0.4 |
| boxColor | The color of the histogram bars | blue |
| fontSize | Fontsize of the histogram label | 5% |
Duration Parameters |
||
| targetDuration | Presentation time of the target histogram | 3000 |
| comparisonDuration2Bars | Presentation time of the 2-bar comparison histogram | 1500 |
| comparisonDuration4Bars | Presentation time of the 4-bar comparison histogram | 2500 |
| comparisonDuration6Bars | Presentation time of the 6-bar comparison histogram | 3500 |
| responseDurationTraining | The presentation time of the comparison histogram during training | 15000 |
| isi | Empty screen between offset of target and onset of comparison stimuli | 1000 |
| iti | Empty screen between offset of comparison stimuli and onset of new target stimuli if participant responds before the current comparisonduration is done, the 'missing' time is added to the iti | 500 |
| blockDuration | The duration of a block after 3 min the block stops | 180000 |