Visual Memory Game

Technical Manual

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

Background

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.

References

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

Adjustments To Z-Scores As Described By:
Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility: Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)

Duration

20 minutes

Description

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.

Procedure

(1) Block.Setup:
This block is a helper block. It assembles the unique sequence of images IF
parameters.runRandomizedTrialOrder = true AND a unique sequence of images within constraints can
be found within time constraints (otherwise the default ones are run).
It also assigns the specific images to their designated target/vigilance/filler conditions
and positions within the sequence
(-> Note that even if the a-priori assignments of targets/vigilance/filler is requested (see parameters.runRandomImageAssignment),
the actual position in which a target/vigilance/filler image is presented within the sequence is randomly determined by default.
Changes to a fixed assignment are possible by changing list.targetItemNumbers/vigilanceItemNumbers/fillerItemNumbers)

(2) Block.Vmg:
- presents 454 images with
• 168 images that are repeated once (targets). Target repeats occur after 91-109 positions (see list.targetDistance).
only the second presentations of designated target images require a spacebar press
• 34 images that are repeated once (vigilance items). Vigilance items are repeated after 1-7 positions (see list.vigilanceDistance)
only the second presentations of designated vigilance images require a spacebar press
• 50 images that are presented only once (filler items). NO SPACEBAR PRESS

- a rest trial is provided after 120 trials (editable parameter)
target/vigilance presentation transcends across block segments

Trial Sequence:
image (for 1000ms) -> iti/feedback trial (presents +) for 1400ms

1. The responsewindow is equal to the image presentation duration (1000ms, editable parameter).
2. Visual Response Feedback is provided: while the image stays on the entire 1000ms even if a response is made,
participants get visual feedback if they press the spacebar.
3. If response (press spacebar/wait) is correct, the + during iti/feedback turns green.
Otherwise it presents in gray.

Stimuli

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.

Instructions

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

Scoring

Zscore Adjustments Of Retrieval Scores
zScore Adjustements of hit and false alarm (FA) rates are based on recommendations by Gregg & Sedikides (2010, p.148).
If the hit rate / FA rate is 0 => 0.005 is used instead
IF the hit rate / FA rate is 1.0 => 0.995 is used instead

Summary Data

File Name: visualmemorygame_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
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

Raw Data

File Name: visualmemorygame_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
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

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
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 targets168
numberFillers Number of presented fillers50
numberVigilance Number of vigilance items34
Timing Parameters
getReadyDurationMS The duration (in ms) of the get-ready-prompt2000
imageDurationMS The duration (in ms) of the images is equal to the response window1000
feedbackDurationMS The duration (in ms) of the feedback +1400
Sizing Parameters
feedbackStimSizePct Stim height (relative to canvas) of feedback stims15%
imageSizePct Height (relative to canvas) of images60%
Response Keys
responseKey The response key: space " " for spacebar
Note that if you change the response key, you may have to update instructions
" "