| Reference | Downloads | Github

Randomly presenting images, then presenting the random output a second time


I’m trying to design a study that works like this:

  1. An image is selected randomly from a set of images to be presented, then followed by a rating scale.
  2. A second image is selected from a separate set, presented, and followed by the same scale used in step 1. The order of presentation for images from Sets 1 and 2 changes randomly as well.
  3. The randomly selected images shown previously are presented again separately with a different kind of scale.

I’m fine with Steps 1 and 2, but am having trouble making the randomly selected images show up for a second time and don’t know how to approach this from a Builder or coding standpoint. Thanks in advance for any help!

OS: Win10
PsychoPy version: 2020.1.1
Standard Standalone: Y

We need to know the details of how you have done that in order to suggest how to do the third step. Please describe everything fully.

Hi Michael,

Sorry for not clarifying in my original post, I’ll detail Steps 1 and 2 below.

Step 1: Trial block with image; the image’s filepath is set to $imgs, which is the column name in the spreadsheet that images are drawn from. Code is included in the “End Routine” tab: I pulled this from another post but assume that it ensures 1 image is being selected from the set of potential $imgs.

if trials.thisN == 0: trials.finished = True

Step 2: There is a loop around the trial block from Step 1 with a conditions file, “chooseblock”, with a column titled “condsfile”. The entries in “condsfile” are the names of 2 spreadsheets to draw images from. Both of those spreadsheets with image filenames use the “imgs” column title, so 1 image will be randomly selected from 1 set or the other when the trial loops.

Inside the first loop is a second loop whose conditions file is set to the name of the column from the spreadsheet used in the outer loop, “condsfile”. This means that the image is chosen randomly, and the spreadsheet it is drawn from is chosen in a random order.
3_28_20 counterbalance routine
I want to take that output (2 random images) and present the individual images for a second time. There’s also a scale in this loop but that’s working fine.