Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+x+xOne unrelated remark: Assuming all your trials are basically identical *except* for the on-screen duration of the digits/target/distracors array, e.g. /stimulustimes = [0 = clearscreen, fixation; 150 = clearscreen,t, d1, d2 , dig1, dig2; 350 = clearscreen] // 200ms vs. /stimulustimes = [0 = clearscreen,fixation; 150 = clearscreen,t, d1, d2 , dig1, dig2; 400 = clearscreen] // 250ms etc. you can save yourself a lot of essentially redundant code by having only a single stimulus presentation trial and inserting the final clearscreen stimulus programmatically per insertstimulustime(). https://www.millisecond.com/support/docs/v6/html/language/functions/insertstimulustime.htmI.e. <trial presentationTrial> / ontrialbegin = [ trial.presentationTrial.resetstimulusframes(); trial.presentationTrial.insertstimulustime(clearscreen, 150 + values.targetarrayduration); ... ] /stimulustimes = [0 = clearscreen, fixation; 150 = clearscreen,t, d1, d2 , dig1, dig2;] ... </trial> whith values.targetarrayduration set to the desired value for the given block (i.e. 100, 150, 200, etc.). Great, this seems much more efficient but it messes up the stimulus presentation somehow. I have done this: <expt IC> / blocks = [1 = 250ms] </expt>
<block 250ms> / trials = [1-5 = conjunctionTrial] / onblockbegin = [ values.targetDuration = 250 ] </block>
<openended conjunctionTrial>
/ recorddata = false
/ ontrialbegin = [ openended.conjunctionTrial.insertstimulustime(clearscreen, 150 + values.targetDuration); openended.conjunctionTrial.insertstimulustime(enterdig, 150 + values.targetDuration); // select digit items values.dig1 = list.digits.nextvalue; values.dig2 = list.digits.nextvalue; // select target item values.t = list.t_items.nextvalue; // select distractor items values.d1 = list.d_items.nextvalue; values.d2 = list.d_items.nextvalue; // select target position values.t_x = list.t_x.nextvalue; // select distractor positions values.d1_x = list.d_x.nextvalue; values.d2_x = list.d_x.nextvalue; // select target color values.t_color = list.t_colors.nextvalue; // and corresponding response key // combine digits values.correctdigit = concat(values.dig1, values.dig2); // select distractor colors values.d1_color = list.d_colors.nextvalue; values.d2_color = list.d_colors.nextvalue; ]
/stimulustimes = [0 = clearscreen, fixation; 150 = clearscreen, t, d1, d2 , dig1, dig2;] / mask = positiveinteger / beginresponsetime = 150 + values.targetDuration / mask = positiveinteger / charlimit = 2
/ correctresponse = (values.correctdigit)
/ branch = [trial.colorResponse]
/ ontrialend = [ // save data values.latencyDigit = openended.conjunctionTrial.latency; values.digitResponse = openended.conjunctionTrial.response;
values.digPropCor = openended.conjunctionTrial.percentcorrect; values.digLatAvg = openended.conjunctionTrial.meanlatency;
// reset relevant lists for next trial list.d_items.reset(); list.d_x.reset(); list.d_colors.reset(); ]
</openended>
To clarify, on the 'colorResponse' trial, a response field covers parts of the displayed shaped. I do run 'clearscreen' and do not understand where this comes from You have not posted any code for the "colorResponse" trial. Please provide code that is actually sufficiently complete and can be run. Otherwise it is not clear at all what you are referring to. Thank you.
|
Group: Forum Members
Posts: 35,
Visits: 103
|
+xTo clarify, on the 'colorResponse' trial, a response field covers parts of the displayed shaped. I do run 'clearscreen' and do not understand where this comes from After some trial-and-error I figured the errors only occurs when the trial 'colorResponse' is openended. Although I fixed the issue, I am curious about my clear misunderstanding of the openended trial. What am I getting wrong here, after all, I do want an openended response? Thanks in advance, Dave!
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+xTo clarify, on the 'colorResponse' trial, a response field covers parts of the displayed shaped. I do run 'clearscreen' and do not understand where this comes from After some trial-and-error I figured the errors only occurs when the trial 'colorResponse' is openended. Although I fixed the issue, I am curious about my clear misunderstanding of the openended trial. What am I getting wrong here, after all, I do want an openended response? Thanks in advance, Dave! An <openended> displays a textbox to collect a typed response, so it sounds like it did exactly what you told it to do. You don't want a typed response -- you want a click on one of several colored shapes -- as the color response, that's a job for a <trial> element, not an <openended>.
|