Evaluative Progressive Ratio Button Press Task

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 27, 2020

Last Modified: January 12, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements a 'Progressive Ratio Button Press Task' to investigate approach-avoidance behavior towards different stimulus categories. The implemented template is based on the procedure described by Driscoll et (2018).

References

Driscoll, R., Quinn de Launay, K. & Fenske, M.J. (2018). Less approach, more avoidance: Response inhibition has motivational consequences for sexual stimuli that reflect changes in affective value not a lingering global brake on behavior. Psychon Bull Rev (2018) 25:463–471 DOI 10.3758/s13423-017-1291-y

the implemented procedure is Millisecond's best guess effort

Duration

12 minutes

Description

Participants view images of two different categories (here: images depicting a positive or a negative scene). The images are originally somewhat blurry. Participants get the option to press one button to 'see more' of the image (aka make them more clear) or press another button to 'see less' of the image (aka make them more blurry).

At the beginning of each round it will take few button presses to get to the extremes (aka 'fully clear' or 'fully obscured'). However, as time goes one more and more button presses will be needed to reach one of the extremes.

For example, if a participant has selected to see a fully clear picture of a 'positive' image, the next time the participant wants to see a fully clear view of a positive image DOUBLE the number of button presses are required. And so on and so on.

Any button press is acceptable and participants can always change their minds, but they will eventually have to reach one of the extremes to move on the next image.

Procedure

In this script:
- 2 categories of images tested (here: positive vs. negative)
- 8 block/rounds (editable parameter) each presenting 12 images (6 positive, 6 negative)

Each round:
- the order of the positive (category1) and negative (category2) images is selected at random
- the image for each category is selected randomly WITHOUT replacement from the pool of available items*
• This script only provides 6 images per category, so each round presents the same 12 images
To add additional images per category, simple go to section Editable Stimuli and add the stimuli to
item.category1Images/item.category2Images. The script will automatically adapt to the increased
pool of items.


Trial Sequence:

- the base image is presented with an overlay of noise (noise itemnumber of 33 is used for first presentation)
- participant has to make a decision via key presses: 'see less of image' vs. 'see more of image'
=> depending on key choice and depending on how many key presses are necessary to show
the extreme of this choice, the participant sees a more blurry image or a more clear image and is either
done with this trial or has to make more selections.

Algorithm implemented:
1. At the start of each trial scripts notes the number of key presses required to get to
the extreme view of an image category in either direction.
Based on this number, the noise itemnumber stepsize is calculated that is needed to jump
through the progressive noise filters (e.g. for the first trial this stepsize is 32, that is
the script would jump from 33 to either 1 or 65 - the extremes- with one key press)

2. Participants makes choice to either see more or less of the image.
Depending on the number of key presses required to see one of the extremes view and the number of
key presses already made in a specific direction, two outcomes are possible:

1) the trial is over: participant sees selected extreme and can move to the next image.
At this point, the script doubles the number of presses needed for this category of images to
reach this particular extreme view again during the next presentation of this category.

2) the key press count was not enough to reach the extreme of the selected direction yet
and results in the selection of a new noise filter (either more blurry or more clear, depending on choice)
for the image.
At this point, the participant can choose to select the same direction again or change
her directional choice.
Again, the script will update the key press count and compare the number of key presses made to the
number of key presses required to see the directional extreme view of the image.


Example:

First Category1 Trial of a round:
Participant needs to use 1 key press in either direction to see one of the extremes.
Participant chooses the 'clear' key, sees the extremely clear view of the image (noise filter 1:
transparent overlay with no noise) and moves on to the next trial.

Second Category1 Trial of the round:
The script determines that participant needs 2 key presses to see the clear-extreme view of the image
but still requires only 1 key press to see the blurry-extreme view of the image.
Participant chooses 'clear' key and sees a more clear image (reduced noise filter: 17)-
however, one more key press is required to see the clear-extreme view of the image, so the trial hasn't ended yet.
At this point, participant changes direction and selects the 'blurry' key. Since one key press is enough
to reach the blurry-extreme (noise filter 65), the trial ends and participant moves to the next trial.

Third Category1 Trial of the round:
Participant now requires 2 key presses in either direction to see one of the extremes.
Participant chooses - clear-blurry-clear and reaches the clear-extreme as 2 key presses towards the clear-extreme
were made. End of Trial.
For the next category1 Trial, participants needs 4 key presses to the clear-extreme view and
2 key presses to the blurry-extreme view.

...and so on and on...

If a participant only wants to see the clear-extreme of positive images:
1) Trial1: 1 key press required
2) Trial2: 2 key presses required
3) Trial3: 4 key presses required
4) Trial4: 8 key presses required
5) Trial5: 16 key presses required
6) Trial6: 32 key presses required
( this script offers 65 noise filters, 32 noise filters going in either direction from starting point 33)

Stimuli

Category1/Category2 Stimuli:

6 category1 images (positive images) and 6 category2 images (negative images)
are provided by Millisecond as example stimuli.
The images can be edited under section Editable stimuli. Additional images can be edited to
item.category1Images/item.category2Images. The script will automatically adapt to the
increased pool of stimuli.

Example: to run 8 blocks with 6 positive images each => 48 different positive images
would be required. Thus, if item.category1Images contains 48 images, each image would
only presented once.

Noise Filters:
This script provides 65 noise filters.
Noise Filter 33 is the starting noise filter that is superimposed over the target image at the start of each
trial sequence. There are 32 increasing noise filters to get to 65 (most blurry) and 32 decreasing noise filters
to get to 1 (no noise at all = completely transparent noise image).
32 noise filters in either direction are necessary for 6 trials per category
with a doubling ratio of key presses.
If more trials should be run, increase the number of noise filters accordingly and change parameters.numberTrials_perblock.
For example, for 7 trials per category, use 129 noise filters; for 8 trials per category use 257 noise filters etc.
(the scripts will automatically adapt the starting noise filter).

noise images: created in paint.net with added plugin
Millisecond attempted to evenly space the noise on a transparent background across 65 noise images.
Exchange filter images under section Editable Stimuli

Instructions

provided by Millisecond - can be edited
in script "progressiveratio_driscoll_instructions_inc.iqjs"

Summary Data

File Name: progressiveratio_driscoll_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
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
Category1: Here Positive Images
category1CountAllClear Counts the number of 'clear' presses ('see more') recorded for category1 images
across the entire task (independent of final outcomes)
category1CountAllBlurry Counts the number of 'blurry' presses ('see less') recorded for category1 images
across the entire task (independent of final outcomes)
countFinalCategory1Clear Counts the number of times a participant reached the 'most clear' stage for category1 images
across the entire task
countFinalCategory1Blurry Counts the number of times a participant reached the 'most blurry' stage for category1 images
across the entire task
meanRTCategory1Blurry Mean reaction time (in ms) of selecting the 'blurry' button for a category1 image across all 'blurry' selections
meanRTCategory1Clear Mean reaction time (in ms) of selecting the 'clear' button for a category1 image across all 'clear' selections
(same for category2 images; here: negative images)

Raw Data

File Name: progressiveratio_driscoll_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockCode Name of the current block
blockNum Number of the current block
trialCode Name of the current trial
trialNum Number of the current trial
round Round/Block Count
trialCount Trialcounter per round (counts the trialsequences)
category 1 = category1 trial (here: positive scene)
2 = category2 trial (here: negative scene)
image The presented image during this trial sequence
imageItemNumber The itemnumber of the base image presented for the current category
noiseItemNumber The itemumber of the noise filter presented over the base image during the current trial
response The participant's response (scancode of response button)
46 = C (for clear -> see more of the image)
48 = B (for blurry -> see less of the image)
latency The response latency (in ms); measured from: onset of trial
interpretedResponse 1 = participant selected to see 'more' (aka more clear) of the category1 image
2 = participant selected to see 'less' (aka more blurry) of the category1 image
3 = participant selected to see 'more' (aka more clear) of the category2 image
4 = participant selected to see 'less' (aka more blurry) of the category2 image
finalResponse The last response made for the current trial (the result)
1 = participant selected to see 'clearest' view of the category1 image
2 = participant selected to see 'the most blurry' view of the category1 image
3 = participant selected to see 'clearest' view of the category2 image
4 = participant selected to see 'the most blurry' view of the category2 image
Category1 Information: Here Positive Images
category1MinimumBlurry The current/last recorded number of button presses required to see the most blurry view of a category1 image
category1MinimumClear The current/last recorded number of button presses required to see the clearest view of a category1 image
category1CountClear Counts the number of 'clear' presses ('see more') recorded for category1 images for the
current trial sequence. Reset back to 0 for each new trial sequence.
category1CountBlurry Counts the number of 'blurry' presses ('see less') recorded for category1 images for the
current trial sequence. Reset back to 0 for each new trial sequence.
category1CountAllClear Counts the number of 'clear' presses ('see more') recorded for category1 images
across the entire task
category1CountAllBlurry Counts the number of 'blurry' presses ('see less') recorded for category1 images
across the entire task
itemNumberStepSizeBlurryCategory1 The current/last recorded itemnumber stepsize with which category1 images
get incrementally more blurry
itemNumberStepSizeClearCategory1 The current/last recorded itemnumber stepsize with which category1 images
get incrementally more clear
countFinalCategory1Clear Counts the number of times a participant reached the 'most clear' stage for category1 images
across the entire task
countFinalCategory1Blurry Counts the number of times a participant reached the 'most blurry' stage for category1 images
across the entire task
(same for category2 images; here negative images)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
blockNumber The number of blocks ('rounds') to run 8
Note: Each Block Will Run 6 Category1 And 6 Category2 Trials
numberTrialsPerBlock The number of trials to run per block12
Note: This Number Depends In Large Parts On The Number Of Noise Filters Available
Example: For 65 Noise Filters, There Are 32 Steps In Either Direction
If A Participant Only Chooses One Category, The Maximum Steps Are Reached
On Trial 6. Thus, 6 Trials Per Category (12 Trials Total) Are Used For 65 Noise Filters
If 7 Trials Per Category Should Be Used (14 Trials Total), The Number Of Noise Filters
Need To Be Increased To 129. The Script Will Automatically Adjust The Number Of
Noise Filters Available.
imageSize The proportional size of the images presented 50%
iti The intertrial interval (in ms) btw. trial sequences 500
The Intertrial Interval Presents A Blank Screen
Response Key Assignment
leftKey The left response key "C"
rightKey The right response key "B"
clearKey The clear response key is the LEFT response key (C) by defaultparameters.leftKey
blurryKey The blurry response key is the RIGHT response key (B) by defaultparameters.rightKey