It sounds like you should have a condition spreadsheet with 6 rows to randomise the order of the conditions. The easiest option might be to preload the stimuli into a separate list. Have a look at my Independent Randomisation demo
Sorry, I think I wasn’t very clear in my initial description. The problem is that the stimuli do change with condition but involving a central object which needs to be different.
So, each trial is an object in an environment. The relationship between the object and the environment changes across conditions - more to less congruent. The six conditions correspond to six levels of congruency. These conditions needs to be counterbalanced across participants.
But also within the trials (12 in total - 2 per condition) the same object should not be presented twice. So say you have a banana in a fruitbowl in trial one (highly congruent) , the banana on a shoe rack (highly incongruent) should not feature, instead it would be the apple on the shoe rack.
Is there an easy way to do this without a complicated latin square arrangment and programming many groups?
Okay, so you have objects (some of which are fruit) and environments (of different levels of congruency with fruit)?
It seems to me that you might need lists of different categories of objects and then select one on each trial from an appropriate category depending on the level of congruency and the environment (which should be independently randomised).
How many different environments do you have? Do you really have six levels of congruency for each? Is each object category used for all six levels of congruency?
Thanks for thinking about this.
I am using the stimuli from this database here: Öhlschläger, S., Võ, M.LH. SCEGRAM: An image database for semantic and syntactic inconsistencies in scenes. Behav Res49, 1780–1791 (2017). SCEGRAM: An image database for semantic and syntactic inconsistencies in scenes | SpringerLink
I think I will create six groups and counterbalance those and then within those groups create the list of stimuli to ensure that they don’t overlap. Something like this:
Group 1 STIMULI: 1,2,3,4,5,6,7,8,9, 10,11,12
Group 2 STIMULI: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
I am right in thinking that PsychoPy will always draw from the first line for each trial? I can create some randomisation using this and groups, I think.