michelle.r
|
|
Group: Forum Members
Posts: 10,
Visits: 33
|
Ok thank you for letting me know.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+x+x+xI'm now working on a second (related) task in which each participant will have a set of word and sentence stimuli unique to them - there will likely be very little overlap between participants. I've read several of the posts about using the include and precondition options, but all seem to require modifying the parent script to include the specific subject ID and file name. For example, for participant 1: <include> /precondition = [ script.subjectid ==1001 && script.sessionid ==1] / file = "1001_sess1.iqx" </include> I am able to make this work. However, with a hundred participants who have new personalized stimuli at each of 3 time points that won't overlap with any of the other participants, I am concerned about how unwieldy it will become to modify the parent script for each participant at each time point. Is there syntax that would essentially indicate that the secondary file chosen with stimuli is dependent on whichever subjectID and session number are indicated at task start without having to modify the parent task each and every time? Thank you! I don't understand why you would have to modify the parent task each and every time? Let's take a minimal example with two subjects. parent.iqx looks like this <include> / precondition = [ script.subjectid == 1; ] / file = "s1.iqx" </include> <include> / precondition = [ script.subjectid == 2; ] / file = "s2.iqx" </include> <text mytext> / items = myitems </text> <trial mytrial> / stimulusframes = [1=mytext] / validresponse = (57) </trial> <block myblock> / trials = [1-3 = mytrial] </block> Suppose you have the items for subject 1 already, so s1.iqx looks like this <item myitems> / 1 = "A" / 2 = "B" / 3 = "C" </item> Further suppose you don't have the items for subject 2 yet, so s2.iqx is empty. This will lead to the script erroring out if you mistakenly enter subject id 2. Now, once you get the items for subject 2, all you need to do is change s2.iqx, i.e. enter the items -- which, as far as I am able to understand your description, you would have to do anyway. No changes to the parent script are necessary. Whether, as here, you do this for two subjects or for 100 makes no difference in that regard. What am I missing? Apologies for not being clear. So what you're recommending is what I already have. But this code means that I need a precondition command for every single of the hundred participants at three different time points. And then each time someone new were enrolled (e.g., subject 2), I'd still have to go into that parent script to add in the file extension for their stimuli. I'm asking if there were a way to pull the subject ID from the initial subject field without listing all 100 participants, like a general command that will pick up on the fact it should link whatever is written in subject ID and session number at the start of the task to a comparable second file in the same folder. Otherwise, my team will be constantly modifying the parent folder by adding the file extension and/or more ID and session numbers, which could lead to errors but would also be onerous. Nope, that's not possible.
|
|
|
michelle.r
|
|
Group: Forum Members
Posts: 10,
Visits: 33
|
+x+x+xI'm now working on a second (related) task in which each participant will have a set of word and sentence stimuli unique to them - there will likely be very little overlap between participants. I've read several of the posts about using the include and precondition options, but all seem to require modifying the parent script to include the specific subject ID and file name. For example, for participant 1: <include> /precondition = [ script.subjectid ==1001 && script.sessionid ==1] / file = "1001_sess1.iqx" </include> I am able to make this work. However, with a hundred participants who have new personalized stimuli at each of 3 time points that won't overlap with any of the other participants, I am concerned about how unwieldy it will become to modify the parent script for each participant at each time point. Is there syntax that would essentially indicate that the secondary file chosen with stimuli is dependent on whichever subjectID and session number are indicated at task start without having to modify the parent task each and every time? Thank you! I don't understand why you would have to modify the parent task each and every time? Let's take a minimal example with two subjects. parent.iqx looks like this <include> / precondition = [ script.subjectid == 1; ] / file = "s1.iqx" </include> <include> / precondition = [ script.subjectid == 2; ] / file = "s2.iqx" </include> <text mytext> / items = myitems </text> <trial mytrial> / stimulusframes = [1=mytext] / validresponse = (57) </trial> <block myblock> / trials = [1-3 = mytrial] </block> Suppose you have the items for subject 1 already, so s1.iqx looks like this <item myitems> / 1 = "A" / 2 = "B" / 3 = "C" </item> Further suppose you don't have the items for subject 2 yet, so s2.iqx is empty. This will lead to the script erroring out if you mistakenly enter subject id 2. Now, once you get the items for subject 2, all you need to do is change s2.iqx, i.e. enter the items -- which, as far as I am able to understand your description, you would have to do anyway. No changes to the parent script are necessary. Whether, as here, you do this for two subjects or for 100 makes no difference in that regard. What am I missing? Apologies for not being clear. So what you're recommending is what I already have. But this code means that I need a precondition command for every single of the hundred participants at three different time points. And then each time someone new were enrolled (e.g., subject 2), I'd still have to go into that parent script to add in the file extension for their stimuli. I'm asking if there were a way to pull the subject ID from the initial subject field without listing all 100 participants, like a general command that will pick up on the fact it should link whatever is written in subject ID and session number at the start of the task to a comparable second file in the same folder. Otherwise, my team will be constantly modifying the parent folder by adding the file extension and/or more ID and session numbers, which could lead to errors but would also be onerous.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+xI'm now working on a second (related) task in which each participant will have a set of word and sentence stimuli unique to them - there will likely be very little overlap between participants. I've read several of the posts about using the include and precondition options, but all seem to require modifying the parent script to include the specific subject ID and file name. For example, for participant 1: <include> /precondition = [ script.subjectid ==1001 && script.sessionid ==1] / file = "1001_sess1.iqx" </include> I am able to make this work. However, with a hundred participants who have new personalized stimuli at each of 3 time points that won't overlap with any of the other participants, I am concerned about how unwieldy it will become to modify the parent script for each participant at each time point. Is there syntax that would essentially indicate that the secondary file chosen with stimuli is dependent on whichever subjectID and session number are indicated at task start without having to modify the parent task each and every time? Thank you! I don't understand why you would have to modify the parent task each and every time? Let's take a minimal example with two subjects. parent.iqx looks like this <include> / precondition = [ script.subjectid == 1; ] / file = "s1.iqx" </include> <include> / precondition = [ script.subjectid == 2; ] / file = "s2.iqx" </include> <text mytext> / items = myitems </text> <trial mytrial> / stimulusframes = [1=mytext] / validresponse = (57) </trial> <block myblock> / trials = [1-3 = mytrial] </block> Suppose you have the items for subject 1 already, so s1.iqx looks like this <item myitems> / 1 = "A" / 2 = "B" / 3 = "C" </item> Further suppose you don't have the items for subject 2 yet, so s2.iqx is empty. This will lead to the script erroring out if you mistakenly enter subject id 2. Now, once you get the items for subject 2, all you need to do is change s2.iqx, i.e. enter the items -- which, as far as I am able to understand your description, you would have to do anyway. No changes to the parent script are necessary. Whether, as here, you do this for two subjects or for 100 makes no difference in that regard. What am I missing?
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+xI'm now working on a second (related) task in which each participant will have a set of word and sentence stimuli unique to them - there will likely be very little overlap between participants. I've read several of the posts about using the include and precondition options, but all seem to require modifying the parent script to include the specific subject ID and file name. For example, for participant 1: <include> /precondition = [ script.subjectid ==1001 && script.sessionid ==1] / file = "1001_sess1.iqx" </include> I am able to make this work. However, with a hundred participants who have new personalized stimuli at each of 3 time points that won't overlap with any of the other participants, I am concerned about how unwieldy it will become to modify the parent script for each participant at each time point. Is there syntax that would essentially indicate that the secondary file chosen with stimuli is dependent on whichever subjectID and session number are indicated at task start without having to modify the parent task each and every time? Thank you! I don't understand why you would have to modify the parent task each and every time?
|
|
|
michelle.r
|
|
Group: Forum Members
Posts: 10,
Visits: 33
|
I'm now working on a second (related) task in which each participant will have a set of word and sentence stimuli unique to them - there will likely be very little overlap between participants. I've read several of the posts about using the include and precondition options, but all seem to require modifying the parent script to include the specific subject ID and file name. For example, for participant 1:
<include> /precondition = [ script.subjectid ==1001 && script.sessionid ==1] / file = "1001_sess1.iqx" </include>
I am able to make this work. However, with a hundred participants who have new personalized stimuli at each of 3 time points that won't overlap with any of the other participants, I am concerned about how unwieldy it will become to modify the parent script for each participant at each time point. Is there syntax that would essentially indicate that the secondary file chosen with stimuli is dependent on whichever subjectID and session number are indicated at task start without having to modify the parent task each and every time? Thank you!
|
|
|
michelle.r
|
|
Group: Forum Members
Posts: 10,
Visits: 33
|
+x+xHi Dave, apologies. I'm now looking at the data file and have noticed a couple of problems with how I might have set up the syntax. First, no matter which stimulus shows up first in the task (in my practice case, cat or bomb), cat always shows up as the first stimulus in the data file. This is problematic because we'll need to know exactly which words (threat or neutral) were presented at which times, and eventually there will be 320 distinct trials. Second, whenever cat shows up first in the task, cat and its associated sentence are then listed in the output as the "word" and "sentence" values across both trials. Finally, I want to make sure that the trials are presented in random order for each participant at each time point and just want to make sure that the current syntax does that? Thank you again! > First, no matter which stimulus shows up first in the task (in my practice case, cat or bomb), cat always shows up as the first stimulus in the data file. <trial stimuli> / ontrial begin = [ values.word = text.word.currentitem; values.wordnum = text.word.currentindex; values.sentence = text.sentence.currentitem; ] ... </trial> No items have been selected at that point. The stimuli have yet to be sampled and displayed. Move the above to /ontrial end and everything will be fine. > Finally, I want to make sure that the trials are presented in random order for each participant at each time point and just want to make sure that the current syntax does that? Yes, the syntax samples the items in random order (without replacement). Thank you!
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+xHi Dave, apologies. I'm now looking at the data file and have noticed a couple of problems with how I might have set up the syntax. First, no matter which stimulus shows up first in the task (in my practice case, cat or bomb), cat always shows up as the first stimulus in the data file. This is problematic because we'll need to know exactly which words (threat or neutral) were presented at which times, and eventually there will be 320 distinct trials. Second, whenever cat shows up first in the task, cat and its associated sentence are then listed in the output as the "word" and "sentence" values across both trials. Finally, I want to make sure that the trials are presented in random order for each participant at each time point and just want to make sure that the current syntax does that? Thank you again! > First, no matter which stimulus shows up first in the task (in my practice case, cat or bomb), cat always shows up as the first stimulus in the data file. <trial stimuli> / ontrial begin = [ values.word = text.word.currentitem; values.wordnum = text.word.currentindex; values.sentence = text.sentence.currentitem; ] ... </trial> No items have been selected at that point. The stimuli have yet to be sampled and displayed. Move the above to /ontrial end and everything will be fine. <trial stimuli> / ontrial end = [ values.word = text.word.currentitem; values.wordnum = text.word.currentindex; values.sentence = text.sentence.currentitem; ] ... </trial> > Finally, I want to make sure that the trials are presented in random order for each participant at each time point and just want to make sure that the current syntax does that? Yes, the syntax samples the items in random order (without replacement).
|
|
|
michelle.r
|
|
Group: Forum Members
Posts: 10,
Visits: 33
|
Hi Dave, apologies. I'm now looking at the data file and have noticed a couple of problems with how I might have set up the syntax. First, no matter which stimulus shows up first in the task (in my practice case, cat or bomb), cat always shows up as the first stimulus in the data file. This is problematic because we'll need to know exactly which words (threat or neutral) were presented at which times, and eventually there will be 320 distinct trials. Second, whenever cat shows up first in the task, cat and its associated sentence are then listed in the output as the "word" and "sentence" values across both trials. Finally, I want to make sure that the trials are presented in random order for each participant at each time point and just want to make sure that the current syntax does that? Thank you again!
|
|
|
michelle.r
|
|
Group: Forum Members
Posts: 10,
Visits: 33
|
Dave, thank you so much it worked! (Also thank you for the speedy reply.)
|
|
|