Recording Stimuli


Author
Message
PileOfTrash
PileOfTrash
Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)
Group: Forum Members
Posts: 8, Visits: 40
Hello! I wanted to ask for help about this script again. I made another blog post about it, but I seem to encounter another problem. 

So how this all is supposed to work is that participants make a judgement based off numbers that go across the screen. The numbers/stimulus going across are all numbers from a data set that we implemented using <item> and it's being called into a <list> and randomized in there. The <trial> is supposed to call these randomized numbers, and it should be recorded in the data file using a <data> command. However, in the data command, the stimuli being saved in the file are actually being weirdly sorted.

In the data file, the first trial of stimulus that was recorded (recall that all of these numbers are being randomized) are all correct; I quickly wrote the numbers that appeared to confirm they're correct. The second trial, every other number for the stimulus was correct. The first number of that second trial isn't correct, but the 2nd one is, and the 4th one, and the 6th one, and so on are all correct. The third trial, every 2nd number for the stimulus was correct. The first two numbers of that third trial were not the numbers that appeared, but the third one, sixth one, ninth one, and so on are all correct. 

So I'm not sure how I can actually fix this? I'm also wondering if there's a way to record what color the stimulus shows up. The numbers in the data file are either orange or purple, so is there a way to code that in?

Thank you!

Attachments
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: 13K, Visits: 105K
PileOfTrash - 5/1/2020
Hello! I wanted to ask for help about this script again. I made another blog post about it, but I seem to encounter another problem. 

So how this all is supposed to work is that participants make a judgement based off numbers that go across the screen. The numbers/stimulus going across are all numbers from a data set that we implemented using <item> and it's being called into a <list> and randomized in there. The <trial> is supposed to call these randomized numbers, and it should be recorded in the data file using a <data> command. However, in the data command, the stimuli being saved in the file are actually being weirdly sorted.

In the data file, the first trial of stimulus that was recorded (recall that all of these numbers are being randomized) are all correct; I quickly wrote the numbers that appeared to confirm they're correct. The second trial, every other number for the stimulus was correct. The first number of that second trial isn't correct, but the 2nd one is, and the 4th one, and the 6th one, and so on are all correct. The third trial, every 2nd number for the stimulus was correct. The first two numbers of that third trial were not the numbers that appeared, but the third one, sixth one, ninth one, and so on are all correct. 

So I'm not sure how I can actually fix this? I'm also wondering if there's a way to record what color the stimulus shows up. The numbers in the data file are either orange or purple, so is there a way to code that in?

Thank you!

Here's how you need to actually structure things for this to work. I've cut the example down to 4 stimuli instead of 40 for illustration purposes:

<data>
/ columns = (build, computer.platform, date, time, subject, group, script.sessionid,
blockcode, blocknum, trialcode, trialnum, stimulusonset, response, correct, latency, values.stim1, stimulusitem, values.stim2, stimulusitem, values.stim3, stimulusitem, values.stim4, stimulusitem)
</data>

<values>
/ stim1 = ""
/ stim2 = ""
/ stim3 = ""
/ stim4 = ""
</values>


<block example>
/ trials = [1-4 = DemBI_P]
</block>

<trial DemBI_P>
/ validresponse = ("E", "I")
/ correctresponse = ("I")
/ beginresponsetime = 0
/ontrialbegin = [
    trial.DemBI_P.resetstimulusframes();
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 0);
    values.stim1 = list.Demplus_G1.currentvalue;
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 1000);
    values.stim2 = list.Demplus_G1.currentvalue;
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 2000);
    values.stim3 = list.Demplus_G1.currentvalue;
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 3000);
    values.stim4 = list.Demplus_G1.currentvalue;
]
/ recorddata = true
/ posttrialpause = 100
</trial>

<list Demplus_G1>
/items = (text.Demplus1_P, text.Demplus2_P, text.Repminus1_O, text.Repminus2_O)
/selectionrate =always
/selectionmode =random
/replace = false
</list>

<text Demplus1_P>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Demplus
/txcolor = (purple)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/ select = list.Demplusitems_1.nextindex
</text>

<text Demplus2_P>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Demplus
/txcolor = (purple)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/ select = list.Demplusitems_1.nextindex
</text>

<list Demplusitems_1>
/ poolsize = 50
/ selectionrate = always
/ replace =true
</list>

<text Repminus1_O>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Repminus
/txcolor = (orange)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/select = list.Repminusitems_1.nextindex
</text>

<text Repminus2_O>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Repminus
/txcolor = (orange)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/select = list.Repminusitems_1.nextindex
</text>

<list Repminusitems_1>
/ poolsize = 50
/ selectionrate = always
/ replace = true
</list>

<item Demplus>
/1 = "67"
/2 = "70"
/3 = "75"
/4= "81"
/5= "55"
/6= "54"
/7= "59"
/8= "63"
/9= "64"
/10= "53"
/11= "96"
/12= "81"
/13= "25"
/14= "72"
/15= "76"
/16= "82"
/17= "51"
/18= "73"
/19= "83"
/20= "88"
/21= "44"
/22= "58"
/23= "74"
/24= "74"
/25= "92"
/26= "63"
/27= "75"
/28= "80"
/29= "72"
/30= "74"
/31= "62"
/32= "82"
/33= "59"
/34= "51"
/35= "75"
/36= "88"
/37= "64"
/38= "88"
/39= "83"
/40= "51"
/41= "85"
/42= "58"
/43= "45"
/44= "75"
/45= "64"
/46= "63"
/47= "68"
/48= "55"
/49= "68"
/50= "76"
</item>

<item Repminus>
/1 = "52"
/2 = "54"
/3 = "63"
/4= "41"
/5= "61"
/6= "58"
/7= "67"
/8= "59"
/9= "79"
/10= "65"
/11= "46"
/12= "54"
/13= "55"
/14= "51"
/15= "58"
/16= "52"
/17= "63"
/18= "87"
/19= "44"
/20= "61"
/21= "66"
/22= "59"
/23= "78"
/24= "79"
/25= "63"
/26= "81"
/27= "66"
/28= "41"
/29= "48"
/30= "80"
/31= "59"
/32= "46"
/33= "55"
/34= "50"
/35= "65"
/36= "78"
/37= "67"
/38= "51"
/39= "63"
/40= "62"
/41= "64"
/42= "68"
/43= "72"
/44= "72"
/45= "65"
/46= "66"
/47= "48"
/48= "77"
/49= "96"
/50= "77"
</item>
PileOfTrash
PileOfTrash
Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)Associate Member (103 reputation)
Group: Forum Members
Posts: 8, Visits: 40
Dave - 5/1/2020
PileOfTrash - 5/1/2020
Hello! I wanted to ask for help about this script again. I made another blog post about it, but I seem to encounter another problem. 

So how this all is supposed to work is that participants make a judgement based off numbers that go across the screen. The numbers/stimulus going across are all numbers from a data set that we implemented using <item> and it's being called into a <list> and randomized in there. The <trial> is supposed to call these randomized numbers, and it should be recorded in the data file using a <data> command. However, in the data command, the stimuli being saved in the file are actually being weirdly sorted.

In the data file, the first trial of stimulus that was recorded (recall that all of these numbers are being randomized) are all correct; I quickly wrote the numbers that appeared to confirm they're correct. The second trial, every other number for the stimulus was correct. The first number of that second trial isn't correct, but the 2nd one is, and the 4th one, and the 6th one, and so on are all correct. The third trial, every 2nd number for the stimulus was correct. The first two numbers of that third trial were not the numbers that appeared, but the third one, sixth one, ninth one, and so on are all correct. 

So I'm not sure how I can actually fix this? I'm also wondering if there's a way to record what color the stimulus shows up. The numbers in the data file are either orange or purple, so is there a way to code that in?

Thank you!

Here's how you need to actually structure things for this to work. I've cut the example down to 4 stimuli instead of 40 for illustration purposes:

<data>
/ columns = (build, computer.platform, date, time, subject, group, script.sessionid,
blockcode, blocknum, trialcode, trialnum, stimulusonset, response, correct, latency, values.stim1, stimulusitem, values.stim2, stimulusitem, values.stim3, stimulusitem, values.stim4, stimulusitem)
</data>

<values>
/ stim1 = ""
/ stim2 = ""
/ stim3 = ""
/ stim4 = ""
</values>


<block example>
/ trials = [1-4 = DemBI_P]
</block>

<trial DemBI_P>
/ validresponse = ("E", "I")
/ correctresponse = ("I")
/ beginresponsetime = 0
/ontrialbegin = [
    trial.DemBI_P.resetstimulusframes();
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 0);
    values.stim1 = list.Demplus_G1.currentvalue;
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 1000);
    values.stim2 = list.Demplus_G1.currentvalue;
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 2000);
    values.stim3 = list.Demplus_G1.currentvalue;
  trial.DemBI_P.insertstimulustime(list.Demplus_G1.nextvalue, 3000);
    values.stim4 = list.Demplus_G1.currentvalue;
]
/ recorddata = true
/ posttrialpause = 100
</trial>

<list Demplus_G1>
/items = (text.Demplus1_P, text.Demplus2_P, text.Repminus1_O, text.Repminus2_O)
/selectionrate =always
/selectionmode =random
/replace = false
</list>

<text Demplus1_P>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Demplus
/txcolor = (purple)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/ select = list.Demplusitems_1.nextindex
</text>

<text Demplus2_P>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Demplus
/txcolor = (purple)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/ select = list.Demplusitems_1.nextindex
</text>

<list Demplusitems_1>
/ poolsize = 50
/ selectionrate = always
/ replace =true
</list>

<text Repminus1_O>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Repminus
/txcolor = (orange)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/select = list.Repminusitems_1.nextindex
</text>

<text Repminus2_O>
/ fontstyle = ("Arial", 4%)
/size= (5%, 5%)
/items = Repminus
/txcolor = (orange)
/animation = path (5000, 1, 0%, 75%, 100%, 75%)
/select = list.Repminusitems_1.nextindex
</text>

<list Repminusitems_1>
/ poolsize = 50
/ selectionrate = always
/ replace = true
</list>

<item Demplus>
/1 = "67"
/2 = "70"
/3 = "75"
/4= "81"
/5= "55"
/6= "54"
/7= "59"
/8= "63"
/9= "64"
/10= "53"
/11= "96"
/12= "81"
/13= "25"
/14= "72"
/15= "76"
/16= "82"
/17= "51"
/18= "73"
/19= "83"
/20= "88"
/21= "44"
/22= "58"
/23= "74"
/24= "74"
/25= "92"
/26= "63"
/27= "75"
/28= "80"
/29= "72"
/30= "74"
/31= "62"
/32= "82"
/33= "59"
/34= "51"
/35= "75"
/36= "88"
/37= "64"
/38= "88"
/39= "83"
/40= "51"
/41= "85"
/42= "58"
/43= "45"
/44= "75"
/45= "64"
/46= "63"
/47= "68"
/48= "55"
/49= "68"
/50= "76"
</item>

<item Repminus>
/1 = "52"
/2 = "54"
/3 = "63"
/4= "41"
/5= "61"
/6= "58"
/7= "67"
/8= "59"
/9= "79"
/10= "65"
/11= "46"
/12= "54"
/13= "55"
/14= "51"
/15= "58"
/16= "52"
/17= "63"
/18= "87"
/19= "44"
/20= "61"
/21= "66"
/22= "59"
/23= "78"
/24= "79"
/25= "63"
/26= "81"
/27= "66"
/28= "41"
/29= "48"
/30= "80"
/31= "59"
/32= "46"
/33= "55"
/34= "50"
/35= "65"
/36= "78"
/37= "67"
/38= "51"
/39= "63"
/40= "62"
/41= "64"
/42= "68"
/43= "72"
/44= "72"
/45= "65"
/46= "66"
/47= "48"
/48= "77"
/49= "96"
/50= "77"
</item>

Thank you so much! It works wonderfully! H
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search