random assignment of pictures by participant


Author
Message
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

You do realize that none of your <picture> elements have dependencies defined, don't you? As such there are no pairs that could possibly be maintained -- all your elements sample randomly without replacement from the items you feed into them.


You had the dependency right in your original post, now you've removed it.


st2pa
st2pa
Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)
Group: Forum Members
Posts: 36, Visits: 19

Yes, I have tried to institute some dependencies but none of them have been able to solve the problem. It only seems to increase repetitions of certain stimuli within blocks. I am likely just using them incorrectly.  Here is the current code I am working with...



<picture white_pics>


/ items = white_pics


/ select = noreplace


</picture>



<picture black_pics>


/ items = black_pics


/ select = noreplace


</picture>



<picture accept_pics>


/ items = accept_pics


/ select = current(white_pics)


</picture>



<picture reject_pics>


/ items = reject_pics


/ select = current(black_pics)


</picture>




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


<picture accept_pics>


/ items = accept_pics


/ select = current(white_pics)


</picture>



This means the item chosen for the above element depends on the item chosen for <picture white_pics>. Now look at one relevant <trial>:


<trial testaw>




/ stimulusframes = [1=accept_pics,AcceptButton,RejectButton,white_pics]




/ correctresponse = (AcceptButton)




/ validresponse = (AcceptButton,RejectButton)




</trial>


Which element is used first? You've got the dependency the wrong way round.


Also:


<trial testab>




/ stimulusframes = [1=accept_pics,AcceptButton,RejectButton,black_pics]




/ correctresponse = (AcceptButton)




/ validresponse = (AcceptButton,RejectButton)




</trial>


We have already established above that the item used by <picture accept_pics> depends on <picture white_pics>. It has no relation whatsoever to <picture black_pics>, so the above <trial> definition does not make any sense.


I think you need to take a step back. Forget about setting up pairs randomly for the moment. Instead just take the 1st 10 white pics and pair them with the 1st 10 accept stims, take the next 10 white pics and pair them with the 1st 10 reject items (and so forth for the black pics). Once you've got that set up, adding in the random pair generation is easy.


st2pa
st2pa
Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)
Group: Forum Members
Posts: 36, Visits: 19

Yes, the following code gives me what I want if I define subsets:


<picture accept_pics_white1>


/ items = accept_pics_white1


/select=noreplace


</picture>



<picture accept_pics_black1>


/ items = accept_pics_black1


/select=noreplace


</picture>



<picture reject_pics_white1>


/ items = reject_pics_white1


/select=noreplace


</picture>



<picture reject_pics_black1>


/ items = reject_pics_black1


/select=noreplace


</picture>



<picture white_pics_accept1>


/ items = white_pics_accept1


/ select = current(accept_pics_white1)


</picture>



<picture black_pics_accept1>


/ items = black_pics_accept1


/ select = current(accept_pics_black1)


</picture>



<picture white_pics_reject1>


/ items = white_pics_reject1


/ select = current(reject_pics_white1)


</picture>



<picture black_pics_reject1>


/ items = black_pics_reject1


/ select = current(reject_pics_black1)


</picture>



<item accept_pics_white1>


</item>



<item accept_pics_black1>


</item>



<item reject_pics_white1>


</item>



<item reject_pics_black1>


</item>



<item white_pics_accept1>


</item>



<item black_pics_accept1>


</item>



<item white_pics_reject1>


</item>



<item black_pics_reject1>


</item>



<counter setup_accept_pics_white1>


/ items = ("App14_1Template.jpg", "App14_2Template.jpg", "App14_3Template.jpg", "App14_4Template.jpg",


"App14_5Template.jpg", "App14_6Template.jpg", "App14_7Template.jpg", "App14_8Template.jpg",


"App14_9Template.jpg", "App14_10Template.jpg")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_accept_pics_black1>


/ items = ("App14_10Template.jpg", "App14_11Template.jpg", "App14_12Template.jpg",


"App14_13Template.jpg", "App14_14Template.jpg", "App14_15Template.jpg", "App14_16Template.jpg",


"App14_17Template.jpg", "App14_18Template.jpg", "App14_19Template.jpg", "App14_20Template.jpg")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_reject_pics_white1>


/ items = ("App13_1Template.jpg", "App13_2Template.jpg", "App13_3Template.jpg", "App13_4Template.jpg",


"App13_5Template.jpg", "App13_6Template.jpg", "App13_7Template.jpg", "App13_8Template.jpg",


"App13_9Template.jpg", "App13_10Template.jpg")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_reject_pics_black1>


/ items = ("App13_11Template.jpg", "App13_12Template.jpg",


"App13_13Template.jpg", "App13_14Template.jpg", "App13_15Template.jpg", "App13_16Template.jpg",


"App13_17Template.jpg", "App13_18Template.jpg", "App13_19Template.jpg", "App13_20Template.jpg")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_white_pics_accept1>


/ items = ("W1S.bmp", "W2S.bmp", "W3S.bmp", "W4S.bmp",


"W5S.bmp", "W6S.bmp", "W8S.bmp", "W9S.bmp",


"W11S.bmp", "W13S.bmp")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_white_pics_reject1>


/ items = ("W19S.bmp", "W20S.bmp",


"W21S.bmp", "W23S.bmp", "W25S.bmp", "W26S.bmp",


"W28S.bmp", "W30S.bmp", "W31S.bmp", "W37S.bmp")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_black_pics_accept1>


/ items = ("B1S.bmp", "B2S.bmp", "B3S.bmp", "B4S.bmp",


"B5S.bmp", "B6S.bmp", "B8S.bmp", "B9S.bmp",


"B10S.bmp", "B12S.bmp")


/ select = noreplace


/ selectionrate = trial


</counter>



<counter setup_black_pics_reject1>


/ items = ("B984S.bmp", "B985S.bmp",


"B986S.bmp", "B987S.bmp", "B988S.bmp", "B990S.bmp",


"B991S.bmp", "B993S.bmp", "B994S.bmp", "B997S.bmp")


/ select = noreplace


/ selectionrate = trial


</counter>



<trial setup_pairingsaw>


/ ontrialbegin = [item.accept_pics_white1.item=counter.setup_accept_pics_white1.selectedvalue]


/ ontrialbegin = [item.white_pics_accept1.item=counter.setup_white_pics_accept1.selectedvalue]


/ trialduration = 0


/ recorddata = false


</trial>



<trial setup_pairingsab>


/ ontrialbegin = [item.accept_pics_black1.item=counter.setup_accept_pics_black1.selectedvalue]


/ ontrialbegin = [item.black_pics_accept1.item=counter.setup_black_pics_accept1.selectedvalue]


/ trialduration = 0


/ recorddata = false


</trial>



<trial setup_pairingsrw>


/ ontrialbegin = [item.reject_pics_white1.item=counter.setup_reject_pics_white1.selectedvalue]


/ ontrialbegin = [item.white_pics_reject1.item=counter.setup_white_pics_reject1.selectedvalue]


/ trialduration = 0


/ recorddata = false


</trial>



<trial setup_pairingsrb>


/ ontrialbegin = [item.reject_pics_black1.item=counter.setup_reject_pics_black1.selectedvalue]


/ ontrialbegin = [item.black_pics_reject1.item=counter.setup_black_pics_reject1.selectedvalue]


/ trialduration = 0


/ recorddata = false


</trial>




<trial orientaw>


/ stimulusframes = [1=accept_pics_white1,white_pics_accept1]


/timeout=100


</trial>



<trial orientab>


/ stimulusframes = [1=accept_pics_black1,black_pics_accept1]


/timeout=100


</trial>



<trial orientrw>


/ stimulusframes = [1=reject_pics_white1,white_pics_reject1]


/timeout=100


</trial>



<trial orientrb>


/ stimulusframes = [1=reject_pics_black1,black_pics_reject1]


/timeout=100


</trial>



<trial testaw>


/ stimulusframes = [1=accept_pics_white1,AcceptButton,RejectButton,white_pics_accept1]


/ correctresponse = (AcceptButton)


/ validresponse = (AcceptButton,RejectButton)


/timeout=100


</trial>



<trial testab>


/ stimulusframes = [1=accept_pics_black1,AcceptButton,RejectButton,black_pics_accept1]


/ correctresponse = (AcceptButton)


/ validresponse = (AcceptButton,RejectButton)


/timeout=100


</trial>



<trial testrw>


/ stimulusframes = [1=reject_pics_white1,AcceptButton,RejectButton,white_pics_reject1]


/ correctresponse = (RejectButton)


/ validresponse = (AcceptButton,RejectButton)


/timeout=100


</trial>



<trial testrb>


/ stimulusframes = [1=reject_pics_black1,AcceptButton,RejectButton,black_pics_reject1]


/ correctresponse = (RejectButton)


/ validresponse = (AcceptButton,RejectButton)


/timeout=100


</trial>



<block pairings>


/ trials = [1-40=noreplace(setup_pairingsaw,setup_pairingsab,setup_pairingsrw,setup_pairingsrb)]


</block>



<block orient>


/ trials = [1-40=noreplace(orientaw,orientrw,orientab,orientrb)]


</block>



<block test>


/ trials = [1-40=noreplace(testaw,testrw,testab,testrb)]


</block>



But this still isn't random.  I could make more orders (pairing the first 10 White faces with the last 10 acceptance profiles, etc.) and then randomly assign participants to orders, so that each face is equally likely to be paired with any other application, but it is still not fully random.  If you don't have any other solution, that will work.  But please let me know if I am missing out on something here that could get fully random selection. Thanks for your help.


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

Why all those <counter> elements now? You do not need more than you already had. What you needed more of are <picture> and <item> elements.


For the record: One counter for white pics, one for black, one for accept, one for reject. Your various trials in the pairings block will randomly distribute them across the proper <item> elements.


st2pa
st2pa
Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)Distinguished Member (2.7K reputation)
Group: Forum Members
Posts: 36, Visits: 19

Yep, that worked.  Thanks for your help.


Dominique
Dominique
Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Hello,


I have another problem with the random presentation of pictures.



I defined a picture set as:


<picture Neg_1>


/items =  ("Neg001.jpg","Neg002.jpg","Neg003.jpg","Neg004.jpg","Neg005.jpg","Neg006.jpg")


/select = noreplace


</picture>



And a corresponding trial as:


<trial neg1>


/stimulusframes= [1=Neg_1, PORTneg_1; 4=cruz, PORTclean]


/numframes=63


</trial>



Presenting this trial six times, I would expect Inquisit to present each of my pictures once, without replacement. But there are always some images that appear twice and others that do not appear. What’s wrong?



On the other hand, I was wondering if there would be necessary any other line to define my trial, taking into account that there won’t be any response inputs (the participants will only be viewing the images).



Thank you very much,


Dominique



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

Presenting this trial six times, I would expect Inquisit to present each of my pictures once, without replacement


This would be true under two conditions: (1) No other <trial> elements sample from <picture Neg_1> AND (2) all 6 <trial neg1> runs occur in the *same* <block>. By default, selection pools are reset between blocks, please see the documentation for /resetinterval for details.


I was wondering if there would be necessary any other line to define my trial


/ validresponse = (noresponse)


Dominique
Dominique
Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)Partner Member (678 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Thank you very much, Dave.


I think both of them are true..


The structure of my script is the following one:


<picture Neg50_1>


/items =  ("Neg001.jpg","Neg002.jpg","Neg003.jpg","Neg004.jpg","Neg005.jpg","Neg006.jpg")


/select = noreplace


</picture>


(defining another 74 picture sets like this..)


<trial neg50_1>


/stimulusframes= [1=Neg50_1, PORTneg50; 4=cruz, PORTlimpiar]


/numframes=63


/validresponse= (noresponse)


/timeout=1050


</trial>


(one trial for each picture defined before..)



<block bloque1> 

/screencolor=(0,0,0)

/preinstructions = (comienzobloque)

/trials = [1-90 = noreplace

(neg50_1, neg150_2, neg350_3, neg650_4, neg1050_5,

neu50_5, neu150_1, neu350_2, neu650_3, neu1050_4,

pos50_4, pos150_5, pos350_1, pos650_2, pos1050_3)]

/postinstructions = (finalbloque)

</block>


(defining like this 4 more blocks but without trial repetition, presenting different trials (i.e. different picture sets) for each block)




<expt> 

/preinstructions = (comienzoexperimento)

/blocks = [1-5 = noreplace

(bloque1, bloque2, bloque3, bloque4, bloque5)]

/postinstructions = (finalexperimento)

</expt>



Thank you!!!

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

Your block will 6 x <trial neg50_1>. If you examine those six trials in your data file, I am sure you will find that each of the files defined in <picture Neg50_1> is displayed exactly once. That's what your script is set up to do.


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search