Dear Laura,
> I set up a .xlsx file with the all the file names of the stimuli and correct answer keys, but I wasn't sure if it's enough to write the names of the image files, or should I add .jpg to the end there.
Most definitely. Your file should look something like this, containing your 183 image names, and a variable name to refer to them with (I'll use "imageName"):
imageName
pic01.jpg
pic02.jpg
etc
etc
> What do I want to achieve?
> I would like all the stimuli (183 images) to be presented one at a time until a response is given, e.g. Image1, response, Image2, response etc. Each participant should be presented with all images in a random order
This is perfectly standard. Place a loop around your main trial routine, connect it to your .xlsx conditions file, and specify the loopType to be "random". This will give you 183 trials, in a different random order for each subject.
> (ideally a fixation cross would be shown before each image, but that's a secondary line of enquiry).
In your main trial routine, simply place an image component (or even just a text component set to display a '+' for example, specified for a certain period (say, lasting from 0 to 1.0 seconds).
Then insert the image component which will show the face, and have it start at the offset time of the fixation (1.0 seconds), but not have a specified duration (as it will be displayed indefinitely until a keypress occurs).
Similarly for your keyboard component: start at 1.0, last forever.
> I am looking for ''yes'' or ''no'' responses, so I would use two keyboard keys which the participants will be asked to press accordingly. Also, I would like to get the reaction times of participants for each stimulus. The overall set-up sounds quite simple: introduction & instructions
Put these on a separate initial routine, prior to the loop described above.
> --> image recognition task with RTs and yes/no responses recorded (maybe with a break or two)
We'll discuss the break bit later, once you have the main part running.
> --> ''Thank you'', but I am struggling with the main part of it.
Again, this goes in its own routine, after the loop running the trials.
i.e. at this stage, your experiment should look very simple: an intro routine, a trial routine, and a thank you routine, with the trial routine surrounded by a loop.
> What have I done so far?
> I have uploaded 3 images (just trying it out with a couple of pictures for now, especially as adding them manually would likely drive me nuts) to the Builder view and applied them to the ''trial'' with responses after each image. Also, I added 3 loops (one for each picture) to the 'trial', but perhaps this would need a different set-up of routines and loops.
No, you just want a single routine, single loop, and single image component. That routine will run 183 times, updating the face image as required.
In the image component image field, simply type:
imageName
and select "set every repeat" so that you get a new face image on every trial.
To keep things tidy, you will probably want to keep all of your 183 images in a subfolder, called, say, "images", in the same folder as your Builder .psyexp file. So in that case, use something like this:
'images/' + imageName
> What is it doing now?
> First of all, all the pictures I have added are presented at the same time.
This won't happen if you just have one image component to show your face stimulus.
> Secondly, the response keys I identified do not work
This is the only bit where things get slightly tricky. To get a "correct" or "incorrect" response, PsychoPy needs to know if the image has been shown before, but the order changes for each subject, so we can't extract the correct answer from the .xlsx file. So we will need to keep track of which images have been shown already.
This is easily do-able, but before giving a suggestion, I need some clarification. Do you have 183 different image files? Or is there some smaller number of images, which will be cycled through for 183 trials, so that some are repeated?
i.e. I need to know if we can figure out if an image has been shown before, on the basis of its name alone.