Millisecond Forums

Randomization starting with a set of items

https://forums.millisecond.com/Topic20356.aspx

By Jrp - 12/8/2016

Hello,

So I am attempting to make a sequence of videos run in inquisit randomly, but for the measure I am doing I need to start with one video from a set of videos, and then play the rest of the videos including the videos not played from the first set as well as other videos from a second set.  So basically I need one random selection from set 1 then the rest of set 1 not including the video already played plus set 2. 
I found this on the forum:http://www.millisecond.com/forums/Topic13891.aspx?Keywords=noreplace.
but it doesn't seem to be working. 
Here is my current iteraton of code:
<video ASIDEvideos>
/items = [1 = noreplace("Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv") 2,3,4,5,6,7,8,9,10,11,12 = noreplace("Converted Videos/alpha1.wmv", "Converted Videos/alpha2.wmv", "Converted Videos/alpha3.wmv", "Converted Videos/alpha4.wmv", "Converted Videos/alpha5.wmv", "Converted Videos/alpha6.wmv", "Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv")]
/playthrough = true
/position = (50,50)
</video>

Set1: "Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv"

Set2:"Converted Videos/alpha1.wmv", "Converted Videos/alpha2.wmv", "Converted Videos/alpha3.wmv", "Converted Videos/alpha4.wmv", "Converted Videos/alpha5.wmv", "Converted Videos/alpha6.wmv"

Thank you for your help!

Jrp
By Dave - 12/8/2016

Jrp - Thursday, December 08, 2016
Hello,

So I am attempting to make a sequence of videos run in inquisit randomly, but for the measure I am doing I need to start with one video from a set of videos, and then play the rest of the videos including the videos not played from the first set as well as other videos from a second set.  So basically I need one random selection from set 1 then the rest of set 1 not including the video already played plus set 2. 
I found this on the forum:http://www.millisecond.com/forums/Topic13891.aspx?Keywords=noreplace.
but it doesn't seem to be working. 
Here is my current iteraton of code:
<video ASIDEvideos>
/items = [1 = noreplace("Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv") 2,3,4,5,6,7,8,9,10,11,12 = noreplace("Converted Videos/alpha1.wmv", "Converted Videos/alpha2.wmv", "Converted Videos/alpha3.wmv", "Converted Videos/alpha4.wmv", "Converted Videos/alpha5.wmv", "Converted Videos/alpha6.wmv", "Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv")]
/playthrough = true
/position = (50,50)
</video>

Set1: "Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv"

Set2:"Converted Videos/alpha1.wmv", "Converted Videos/alpha2.wmv", "Converted Videos/alpha3.wmv", "Converted Videos/alpha4.wmv", "Converted Videos/alpha5.wmv", "Converted Videos/alpha6.wmv"

Thank you for your help!

Jrp

/items = [1 = noreplace("Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv") 2,3,4,5,6,7,8,9,10,11,12 = noreplace("Converted Videos/alpha1.wmv", "Converted Videos/alpha2.wmv", "Converted Videos/alpha3.wmv", "Converted Videos/alpha4.wmv", "Converted Videos/alpha5.wmv", "Converted Videos/alpha6.wmv", "Converted Videos/beta1.wmv", "Converted Videos/beta2.wmv", "Converted Videos/beta3.wmv", "Converted Videos/beta4.wmv", "Converted Videos/beta5.wmv", "Converted Videos/beta6.wmv")]

This is not valid syntax for an <item> attribute. What you need to do is set up two <video> elements -- one for alpha, one for beta -- and two <trial> elements -- also one for alpha, one for beta.

<video alpha_video>
/ items = alpha_items
/ select = noreplace
/ playthrough = true
</video>

<item alpha_items>
/ 1 = "Converted Videos/alpha1.wmv"
/ 2 = "Converted Videos/alpha2.wmv"
/ 3 = "Converted Videos/alpha3.wmv"
/ 4 = "Converted Videos/alpha4.wmv"
/ 5 = "Converted Videos/alpha5.wmv"
/ 6 = "Converted Videos/alpha6.wmv"
</item>

<video beta_video>
/ items = beta_items
/ select = noreplace
/ playthrough = true
</video>

<item beta_items>
/ 1 = "Converted Videos/beta1.wmv"
/ 2 = "Converted Videos/beta2.wmv"
/ 3 = "Converted Videos/beta3.wmv"
/ 4 = "Converted Videos/beta4.wmv"
/ 5 = "Converted Videos/beta5.wmv"
/ 6 = "Converted Videos/beta6.wmv"
</item>

<trial alpha_trial>
/ stimulusframes = [1=alpha_video]
/ validresponse = (57)
</trial>

<trial beta_trial>
/ stimulusframes = [1=beta_video]
/ validresponse = (57)
</trial>

Then run the trials via a <block> as needed:

<block videoblock>
/ trials = [1=beta_trial;
            2-12 = noreplace(alpha_trial, alpha_trial, alpha_trial, alpha_trial, alpha_trial, alpha_trial,
                    beta_trial, beta_trial, beta_trial, beta_trial, beta_trial)
    ]
</block>
By Jrp - 12/8/2016

Thank you! That worked really well!

If I wanted to add a measure after every item for a small self report(I have the radio buttons and Surveypages 12 in total) how would I do this with that code? Also if I was wanting to also add questions tied to specific videos would there be a way to do that(I have 12 questions that are asking specific things from each video and wanted it to be after the previous measure)?

So it basically flowed : A Video => Self Report Measure => specific question according to video

-Jrp
By Dave - 12/8/2016

Jrp - Thursday, December 08, 2016
Thank you! That worked really well!

If I wanted to add a measure after every item for a small self report(I have the radio buttons and Surveypages 12 in total) how would I do this with that code? Also if I was wanting to also add questions tied to specific videos would there be a way to do that(I have 12 questions that are asking specific things from each video and wanted it to be after the previous measure)?

So it basically flowed : A Video => Self Report Measure => specific question according to video

-Jrp

You can do that via /branch. From the video <trial> /branch to the self-report <surveypage>. From that <surveypage> /branch to the "specific question" page. You can pull the specific question on that page based on the selected video item. In a nutshell.

<trial alpha_trial>
/ stimulusframes = [1=alpha_video]
/ validresponse = (57)
/ branch = [surveypage.alpha_selfreport]
</trial>

<surveypage alpha_selfreport>
/ caption = "self-report measure goes on this page"
/ branch = [surveypage.alpha_specific]
</surveypage>

<surveypage alpha_specific>
/ questions = [1=alpha_q]
</surveypage>

<textbox alpha_q>
/ caption = "<%item.alpha_qs.item(video.alpha_video.currentindex)%>"
</textbox>

<item alpha_qs>
/ 1 = "Question about alpha1.wmv"
/ 2 = "Question about alpha2.wmv"
/ 3 = "Question about alpha3.wmv"
/ 4 = "Question abaout alpha4.wmv"
/ 5 = "Question about alpha5.wmv"
/ 6 = "Question about alpha6.wmv"
</item>

(same for the "beta" trials)
By Jrp - 12/20/2016

Dave - Thursday, December 08, 2016
Jrp - Thursday, December 08, 2016
Thank you! That worked really well!

If I wanted to add a measure after every item for a small self report(I have the radio buttons and Surveypages 12 in total) how would I do this with that code? Also if I was wanting to also add questions tied to specific videos would there be a way to do that(I have 12 questions that are asking specific things from each video and wanted it to be after the previous measure)?

So it basically flowed : A Video => Self Report Measure => specific question according to video

-Jrp

You can do that via /branch. From the video <trial> /branch to the self-report <surveypage>. From that <surveypage> /branch to the "specific question" page. You can pull the specific question on that page based on the selected video item. In a nutshell.

<trial alpha_trial>
/ stimulusframes = [1=alpha_video]
/ validresponse = (57)
/ branch = [surveypage.alpha_selfreport]
</trial>

<surveypage alpha_selfreport>
/ caption = "self-report measure goes on this page"
/ branch = [surveypage.alpha_specific]
</surveypage>

<surveypage alpha_specific>
/ questions = [1=alpha_q]
</surveypage>

<textbox alpha_q>
/ caption = "<%item.alpha_qs.item(video.alpha_video.currentindex)%>"
</textbox>

<item alpha_qs>
/ 1 = "Question about alpha1.wmv"
/ 2 = "Question about alpha2.wmv"
/ 3 = "Question about alpha3.wmv"
/ 4 = "Question abaout alpha4.wmv"
/ 5 = "Question about alpha5.wmv"
/ 6 = "Question about alpha6.wmv"
</item>

(same for the "beta" trials)

Hello Dave,

Thank you again for your help on this! 

I seem to be having trouble doing this with my questionnaires. The self-report questions I have are in block form cause they are basically one question with seven types of responses(ie SUDS1Anxious, SUDS1Happy, etc.). There are also specific so we know which point they came from (ie. there is a SUDS1 Block a SUDS2 block and so on). Is there a way to connect these blocks to this or a way to convert it into trials so this method works?

Would it help to attach the inquisit file?

Thank you,
Jrp


By Dave - 12/20/2016

Jrp - Tuesday, December 20, 2016
Dave - Thursday, December 08, 2016
Jrp - Thursday, December 08, 2016
Thank you! That worked really well!

If I wanted to add a measure after every item for a small self report(I have the radio buttons and Surveypages 12 in total) how would I do this with that code? Also if I was wanting to also add questions tied to specific videos would there be a way to do that(I have 12 questions that are asking specific things from each video and wanted it to be after the previous measure)?

So it basically flowed : A Video => Self Report Measure => specific question according to video

-Jrp

You can do that via /branch. From the video <trial> /branch to the self-report <surveypage>. From that <surveypage> /branch to the "specific question" page. You can pull the specific question on that page based on the selected video item. In a nutshell.

<trial alpha_trial>
/ stimulusframes = [1=alpha_video]
/ validresponse = (57)
/ branch = [surveypage.alpha_selfreport]
</trial>

<surveypage alpha_selfreport>
/ caption = "self-report measure goes on this page"
/ branch = [surveypage.alpha_specific]
</surveypage>

<surveypage alpha_specific>
/ questions = [1=alpha_q]
</surveypage>

<textbox alpha_q>
/ caption = "<%item.alpha_qs.item(video.alpha_video.currentindex)%>"
</textbox>

<item alpha_qs>
/ 1 = "Question about alpha1.wmv"
/ 2 = "Question about alpha2.wmv"
/ 3 = "Question about alpha3.wmv"
/ 4 = "Question abaout alpha4.wmv"
/ 5 = "Question about alpha5.wmv"
/ 6 = "Question about alpha6.wmv"
</item>

(same for the "beta" trials)

Hello Dave,

Thank you again for your help on this! 

I seem to be having trouble doing this with my questionnaires. The self-report questions I have are in block form cause they are basically one question with seven types of responses(ie SUDS1Anxious, SUDS1Happy, etc.). There are also specific so we know which point they came from (ie. there is a SUDS1 Block a SUDS2 block and so on). Is there a way to connect these blocks to this or a way to convert it into trials so this method works?

Would it help to attach the inquisit file?

Thank you,
Jrp



Not sure if I understand the description accurately, but you can "connect" <block>s just like you would "connect" trials. I.e., it is entirely possible to /branch from one <block> to another <block>.