Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 02, 2023
Last Modified: January 12, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's version of a visual memory game inspired by the work of Isola et al (2014) who studied memorability of images. Note that the procedure implemented in this script is not a replica of the Isola et al (2014) design. The implemented procedure runs considerably fewer images and cannot be interrupted across several sessions.
Isola, P., Jianxiong Xiao, Parikh, D., Torralba, A., & Oliva, A. (2014). What Makes a Photograph Memorable? IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(7), 1469–1482. https://doi.org/10.1109/TPAMI.2013.200
20 minutes
Participants view a sequence of images. Some of the images are presented only once (fillers). Some images will be repeated once 1-7 positions later (vigilance items), and some images will be repeated once 91-107 positions later (target items). Participants are asked to press the spacebar whenever they think they see a repeated images.
provided by Millisecond - can be edited under section 'Editable Stimuli'.
The provided images were downloaded from pixabay.com and are only intended as stand in placeholders.
All images were resized to W:H=800px:600px.
this script provides the opportunity to test visual memory of different categories of stimuli
(e.g. positive, negative or neutral images) - see item.imageCategories.
The default script does not run any a-priori classifications of images.
provided by Millisecond - can be edited under section 'Editable Instructions'
File Name: visualmemorygame_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 |
Parameter Values |
|
| numberTargets | The number of target images |
| numberVigilance | The number of vigilance images |
| numberFillers | The number of filler items |
| runRandomImageAssignment | True (1) = the program will randomly assign images to be targets, vigilance items or filler items false (0) = the program will use the a-priori/default assignments -> see item.imageConditions |
| runRandomizedTrialOrder | True (1) = the program attempts to create a unique sequence of trials (if possible) false (0) = the program uses the default sequence as stored in list.conditionSequence/list.repeatConditions/list.pairs only relevant if parameters.runRandomizedTrialOrder = true |
| success | 1 = the script successfully created a unique sequence 0 = the script could NOT successfully create a unique sequence and used the default sequences instead |
Summary Performance Metrics |
|
| propCorrectOverall | Proportion correct responses across all image presentation trials |
Hitanalyses |
|
| hitRateOverall | Hitrate for correctly identifying repeated images as repeats |
| missRateOverall | Missrate for identifying repeated images as repeats |
| hitRTOverall | The response time (in ms) correctly identifying repeated images as repeats |
| hitRateTargets | Hitrate for correctly identifying repeat targets as repeats |
| missRateTargets | Missrate for identifying repeated target images as repeats |
| hitRTTargets | The response time (in ms) correctly identifying repeat targets as repeats |
| hitRateVigilance | Hitrate for correctly identifying repeat "vigilance items" as repeats |
| missRateOverall | Missrate for identifying repeated "vigilance" images as repeats |
| hitRTVigilance | The response time (in ms) correctly identifying repeat "vigilance items" as repeats |
Commissions |
|
| commissionRateOverall | Commissionrate for incorrectly identifying non-repeated images as repeats |
| correctRejectRateOverall | Correct rejection rate for correctly identifying non-repeated images as new items |
| commissionRTOverall | The response time (in ms) incorrectly identifying non-repeated images as repeats |
| commissionRateTargets | Commissionrate for incorrectly identifying non-repeated targets (first presentation) as repeats |
| commissionRTTargets | The response time (in ms) incorrectly identifying non-repeated targets (first presentation) as repeats |
| commissionRateVigilance | Commissionrate for incorrectly identifying non-repeated "vigilance items" (first presentation) as repeats |
| commissionRTVigilance | The response time (in ms) incorrectly identifying non-repeated "vigilance items" (first presentation) as repeats |
| commissionRateFiller | Commissionrate for incorrectly identifying non-repeated fillers as repeats |
| commissionRTFiller | The response time (in ms) incorrectly identifying non-repeated fillers as repeats |
Signal Detection Measures |
|
| zHitRateOverall | Calculates the z-score for the Overall hitRate. Adjustments are made if the hitRate = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| zFARateOverall | Calculates the z-score for the Overall false alarm rate. Adjustments are made if the faRate = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| dPrimeOverall | Computes d' (parametric measure of discriminability btw. signals and noise) => Range (in this script) -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (repeated images) were overall distinguished from noise (non repeated images) (d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets) |
| cOverall | C-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (repeated images) is present (liberal response style) may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) |
| zHitRateTargets | Calculates the z-score for the Target hitRate (2nd showing). Adjustments are made if the hitRate = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| zFARateTargets | Calculates the z-score for the Target false alarm rate (1st showing). Adjustments are made if the faRate = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| dPrimeTargets | Computes d' (parametric measure of discriminability btw. signals and noise) |
| cTargets | C-criterion in signal detection: measure of response style/bias |
| zHitRateVigilance | Calculates the z-score for the Vigilance hitRate (2nd showing). Adjustments are made if the hitRate = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| zFARateVigilance | Calculates the z-score for the Vigilance false alarm rate (1st showing). Adjustments are made if the faRate = 0 (increased to 0.005) or 1 (decreased to 0.995)* |
| dPrimeVigilance | Computes d' (parametric measure of discriminability btw. signals and noise) |
| cVigilance | C-criterion in signal detection: measure of response style/bias |
File Name: visualmemorygame_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. |
Parameter Values |
|
| runRandomImageAssignment | True (1) = the program will randomly assign images to be targets, vigilance items or filler items false (0) = the program will use the a-priori/default assignments -> see item.imageConditions |
| runRandomizedTrialOrder | True (1) = the program attempts to create a unique sequence of trials (if possible) false (0) = the program uses the default sequence as stored in list.conditionSequence/list.repeatConditions/list.pairs only relevant if parameters.runRandomizedTrialOrder = true |
| success | 1 = the script successfully created a unique sequence 0 = the script could NOT successfully create a unique sequence and used the default sequences instead |
Trial Performance Metrics |
|
| countTrials | Tracks the number of images presented (= the position of the current position in the image sequence) |
| condition | 1 = target item; 2 = vigilance item; 3 = filler item |
| repeatCondition | 1 = first presentation (wait!); 2 = presentation (require spacebar press!) |
| itemNumber | The itemNumber of the currently presented image |
| pairedPosition | The sequence position of the paired repeated (or first) image presentation (empty for filler items) |
| imageCategory | The category that the current image belongs to (if any, see item.imageCategories) NA = not applicable (default in this script) |
| stimulusItem | Presented stimuli |
| response | The response of participant (scancode of response button) |
| correct | Correctness of response (1 = correct, 0 = error) |
| latency | Response latency (in ms); measured from: onset of image until spacebar press (or end of trial) |
Counts |
|
| countT1 | Tracks the number of target1 (t1) presentations |
| countT2 | Tracks the number of target2 (t2-repeated targets) presentations |
| countV1 | Tracks the number of vigilance1 (v1) presentations |
| countV2 | Tracks the number of vigilance2 (v2-repeated vigilance) presentations |
| countF | Tracks the number of filler presentations |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| runRandomImageAssignment | True = the program will randomly assign images to be targets, vigilance items or filler items false = the program will use the a-priori assignments -> see item.imageConditions | true |
| runRandomizedTrialOrder | True = the program attempts to create a unique sequence of trials with the constraints 168 targets that are repeated with list.targetDistance distances 34 vigilance items that are repeated with list.vigilanceDistance distances 50 filler items that are presented only once if the program cannot established a suitable sequence within time constraints it will use the default sequence as provided in list.conditionSequence/list.repeatConditions/list.pairs false = the program will use the default sequence as stored in list.conditionSequence/list.repeatConditions/list.pairs | true |
| rest | Number of trials after which a rest trial is provided if no rest trials should be run, set the number to more than there are trials run | 120 |
Changes To The Following Settings (Numbers) May 'Break' This Script |
||
| numberTargets | Number of presented targets | 168 |
| numberFillers | Number of presented fillers | 50 |
| numberVigilance | Number of vigilance items | 34 |
Timing Parameters |
||
| getReadyDurationMS | The duration (in ms) of the get-ready-prompt | 2000 |
| imageDurationMS | The duration (in ms) of the images is equal to the response window | 1000 |
| feedbackDurationMS | The duration (in ms) of the feedback + | 1400 |
Sizing Parameters |
||
| feedbackStimSizePct | Stim height (relative to canvas) of feedback stims | 15% |
| imageSizePct | Height (relative to canvas) of images | 60% |
Response Keys |
||
| responseKey | The response key: space " " for spacebar Note that if you change the response key, you may have to update instructions | " " |