Selection and randomization of stimuli


Author
Message
SilvioM
SilvioM
Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)
Group: Forum Members
Posts: 8, Visits: 105
Dear all, 
I have been working on an Inquisit script (please find it attached) and I am struggling with the stimuli selection.
I have a block with four different types of trials: approaching stim_1 in the upper part of the screen with distractor_1; approaching stim_1 in the lower part of the screen with distractor_1; approaching stim_1 in the upper part of the screen with distractor_2; approaching stim_1 in the lower part of the screen with distractor_2. 

There are eight stimuli by category (ie eight stimuli for stim_1 ; eight stimuli for distractor_1 ; eight stimuli for distractor_2) and overall, I would like to display 128 trials (32 per type of trials). I also would like that, at the block level, each possible pair of stimuli (64 pairs = stim_1 with distractor_1 and 64 pairs = stim_1 with distractor_2) would be displayed only once, with stim_1 being randomly displayed either in the upper part of the screen or either in the lower part of the screen.

I have mainly used this post to compute the actual code : https://www.millisecond.com/forums/Topic2273.aspx

Any help would be greatly appreciated! Thank you very much,
warm regards,
S.M


Attachments
forum.zip (149 views, 5.00 KB)
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
SilvioM - 9/23/2021
Dear all, 
I have been working on an Inquisit script (please find it attached) and I am struggling with the stimuli selection.
I have a block with four different types of trials: approaching stim_1 in the upper part of the screen with distractor_1; approaching stim_1 in the lower part of the screen with distractor_1; approaching stim_1 in the upper part of the screen with distractor_2; approaching stim_1 in the lower part of the screen with distractor_2. 

There are eight stimuli by category (ie eight stimuli for stim_1 ; eight stimuli for distractor_1 ; eight stimuli for distractor_2) and overall, I would like to display 128 trials (32 per type of trials). I also would like that, at the block level, each possible pair of stimuli (64 pairs = stim_1 with distractor_1 and 64 pairs = stim_1 with distractor_2) would be displayed only once, with stim_1 being randomly displayed either in the upper part of the screen or either in the lower part of the screen.

I have mainly used this post to compute the actual code : https://www.millisecond.com/forums/Topic2273.aspx

Any help would be greatly appreciated! Thank you very much,
warm regards,
S.M


What are your concrete questions
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
Dave - 9/23/2021
SilvioM - 9/23/2021
Dear all, 
I have been working on an Inquisit script (please find it attached) and I am struggling with the stimuli selection.
I have a block with four different types of trials: approaching stim_1 in the upper part of the screen with distractor_1; approaching stim_1 in the lower part of the screen with distractor_1; approaching stim_1 in the upper part of the screen with distractor_2; approaching stim_1 in the lower part of the screen with distractor_2. 

There are eight stimuli by category (ie eight stimuli for stim_1 ; eight stimuli for distractor_1 ; eight stimuli for distractor_2) and overall, I would like to display 128 trials (32 per type of trials). I also would like that, at the block level, each possible pair of stimuli (64 pairs = stim_1 with distractor_1 and 64 pairs = stim_1 with distractor_2) would be displayed only once, with stim_1 being randomly displayed either in the upper part of the screen or either in the lower part of the screen.

I have mainly used this post to compute the actual code : https://www.millisecond.com/forums/Topic2273.aspx

Any help would be greatly appreciated! Thank you very much,
warm regards,
S.M


What are your concrete questions

> I also would like that, at the block level, each possible pair of stimuli (64 pairs = stim_1 with distractor_1 and 64 pairs = stim_1 with distractor_2) would be displayed only once, with stim_1 being randomly displayed either in the upper part of the screen or either in the lower part of the screen.

Then the two trials Approach_PA_SED_top and Approach_PA_SED_bottom should sample from the same set of two counters, not two separate sets of counters.
Same for the two trials Approach_PA_NEU_top and Approach_PA_NEU_bottom.

SilvioM
SilvioM
Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)Associate Member (99 reputation)
Group: Forum Members
Posts: 8, Visits: 105
My question is: how can I make each pair of stimuli (stim_1 with distractor_1 and stim_1 with distractor_2) appear only once?

At the moment, as I pick 32 trials from the first trial condition (ie stim_1 on the top of the screen) and 32 trials from the second trial condition (ie stim_1 on the bottom of the screen), some pairs of trials may be redondant across conditions, and some pairs of trials may not be displayed.

I hope that it is clearer now, thank you very much for your support.


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
SilvioM - 9/23/2021
My question is: how can I make each pair of stimuli (stim_1 with distractor_1 and stim_1 with distractor_2) appear only once?

At the moment, as I pick 32 trials from the first trial condition (ie stim_1 on the top of the screen) and 32 trials from the second trial condition (ie stim_1 on the bottom of the screen), some pairs of trials may be redondant across conditions, and some pairs of trials may not be displayed.

I hope that it is clearer now, thank you very much for your support.


As I said in my previous response, you ought to have the two NEU trials sample from the same two counters, and same thing for the two SED trials.

64 SED target-distractor combinations

<counter counter_Approach_PA_SED_target>
/ select = noreplace
/ items = (
1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,
3,3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4,
5,5,5,5,5,5,5,5,
6,6,6,6,6,6,6,6,
7,7,7,7,7,7,7,7,
8,8,8,8,8,8,8,8)
</counter>
## I create all combinations for target stimuli

<counter counter_Avoid_SED_distractor>
/ select = current(counter_Approach_PA_SED_target)
/ items = (
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8)
</counter>
and distracting stimuli


with

<trial Approach_PA_SED_top>
/ ontrialbegin = [values.Approach_PA_SED_top = counter.counter_Approach_PA_SED_target.selectedvalue;
    values.Avoid_SED_bottom = counter.counter_Avoid_SED_distractor.selectedvalue;
    ]
/ stimulusframes = [1=focuspoint; 100 = Approach_PA_SED_top, Avoid_SED_bottom, moi]
/ validresponse = ("t", "b","g")
/ correctresponse = ("t")
/ timeout = 10000
/ branch = [if (trial.Approach_PA_SED_top.response == 0) trial.tooslowfb]                            
/ branch = [if (trial.Approach_PA_SED_top.error) trial.errorfb]                                        
/ branch = [if (trial.Approach_PA_SED_top.correct) trial.correctfb_Approach_PA_SED_top]
</trial>

<trial Approach_PA_SED_top>
/ ontrialbegin = [values.Approach_PA_SED_top = counter.counter_Approach_PA_SED_target.selectedvalue;
    values.Avoid_SED_bottom = counter.counter_Avoid_SED_distractor.selectedvalue;
    ]
/ stimulusframes = [1=focuspoint; 100 = Approach_PA_SED_top, Avoid_SED_bottom, moi]
/ validresponse = ("t", "b","g")
/ correctresponse = ("t")
/ timeout = 10000
/ branch = [if (trial.Approach_PA_SED_top.response == 0) trial.tooslowfb]                            
/ branch = [if (trial.Approach_PA_SED_top.error) trial.errorfb]                                        
/ branch = [if (trial.Approach_PA_SED_top.correct) trial.correctfb_Approach_PA_SED_top]
</trial>


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search