Group: Forum Members
Posts: 51,
Visits: 256
|
Dear All,
I have problem with gif animation set as fixation point.
If i set as fixation point (fp) text stimuli (text_fp) my script works fine, during whole block, fp is visible but disapeers in recall (target) phase on trial.target1 nad trial.target2. After trial.target2 in trial.reset I set stimulustime [0=text_fp] without erase so I have text_fp visible till next trial.target1.
BUT if i set as fixation point gif animation - video_fp then something is going wrong. In trial target1 and target2 bgsim is still visible.
I have created a white rectangle mask to overwrite bgstim but it does not work.
I change mask color to black and I saw that video stimuli is alwas on first plan and cant be overwrite. I can`t figure out why.
I looked through documentation but find nothing ;/
Mayby someone can help?
Thanks a lot for help
I attach my script and animation
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
If you play back an animation (a video / a gif) as background stimulus, the screen portion displaying that animation has to be redrawn constantly (after all, an animation is nothing more than a rapid sequence of static images). Thus you cannot overwrite it with a simple static stimulus (such as a <shape>).
Depending on how you want your script to behave, you can either (1) overwrite the fixation animation using *another* blank gif-animation or (2) display the fixation animation via a <trial>'s /stimulustimes or -frames instead of /bgstim (which will stop the animation when the trial terminates).
|
Group: Forum Members
Posts: 51,
Visits: 256
|
Thanks a lot, you're right ! refreshing - it is so simple.
But what can I do to erase this gif fixation point in target.trial?
Is there any way? Do you have any idea?
Thanks
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
I've listed two options in my previous reply (these were added for clarity).
|
Group: Forum Members
Posts: 51,
Visits: 256
|
Thanks I try, but unfortunetly it does not work. Option 1 I still have the same situation, I create white blank gif animation to erase fixation point, but fixation point is still on first plan, then I create black gif animation and black animation is unable to erase fixation point. It looks like video bgstim will be always before mask. Option 2 in my sript trials are replaced very fast, one letter- one trial, and if i try set fixation poin as a stimuliframe/stimulitiem i have no smooth movement of gif animation. I have very short blinks. Mayby I need to rewrite my script to use animation as fixation point ;/ Thank you anyway.
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
I see. Consider doing something along the lines of:
<values> /trial_no=0 /trial_max=6 /trial_set=0 /target1_in_sequence=1 /target2_in_sequence=3 /target1_position=0 /target2_position=0 /transorm_count =0 /timeout=100 /range=0 /position=0 /hposition=50 /vposition=50 </values>
<values> /a=0 /b=0 </values>
<video video_fp> /items=("fp200.gif") /size = (100,100) /erase = false /loop=true /hposition = values.hposition /vposition= values.vposition </video>
<text text_fp> /items=("+") /erase = false </text>
<item stimulus> /1 = "A" /2 = "B" /3 = "C" /4 = "D" /5 = "E" /6 = "F" /7 = "G" /8 = "H" /9 = "W" /10 = "J" </item>
<item set> </item>
<list pos> /items = (1,2,3) </list>
<list stimulus> /items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) /replace = false </list>
<text S1L> /items = stimulus /position = (90,50) /fontstyle = ("Arial", 10%) /select = list.stimulus.nextvalue /size = (100,100) /erase = true(255,255,255) </text>
<text S2L> /items = stimulus /position = (75,80) /fontstyle = ("Arial", 10%) /select = list.stimulus.nextvalue / size = (100,100) /erase = true(255,255,255) </text>
<text S3L> /items = stimulus /position = (75,20) /fontstyle = ("Arial", 10%) /select = list.stimulus.nextvalue / size = (100,100) /erase = true(255,255,255) </text>
<text target1> / items = set / txcolor = (0,0,139) / fontstyle = ("Arial", 10%) /select = values.target1_in_sequence /size = (400,400) /position = (50,50) </text>
<text target2> / items = set / txcolor = (0,0,139) / fontstyle = ("Arial", 10%) / select = values.target2_in_sequence / size = (400,400) /position = (50,50) </text>
<text tak> /items = ("tak -> ") /fontstyle = ("Calibri", 5%) /position = (75,80) </text>
<text nie> /items = (" <- nie") /fontstyle = ("Calibri", 5%) /position = (25,80) </text>
<trial A> /ontrialbegin=[values.trial_no+=1] /ontrialbegin = [ if (list.pos.nextvalue==1) trial.A.setstimulustime(text.S1L,0); if (list.pos.nextvalue==2) trial.A.setstimulustime(text.S2L,0); if (list.pos.nextvalue==3) trial.A.setstimulustime(text.S3L,0);]
/timeout = values.timeout /ontrialend = [ if(trial.A.stimulustime(0)=="text.S1L") item.set.item = text.S1L.currentitem; if(trial.A.stimulustime(0)=="text.S2L") item.set.item = text.S2L.currentitem; if(trial.A.stimulustime(0)=="text.S3L") item.set.item = text.S3L.currentitem; values.position=trial.A.stimulustime(0); trial.a.clearstimulusframes(0)]
/branch = [if (values.trial_no<values.trial_max) trial.A] </trial>
<trial target1> /stimulustimes= [0=target1,nie,tak] /correctresponse = (203) /validresponse = (203,205) </trial>
<trial target2> /ontrialbegin = [values.a=0; values.b=0] /stimulustimes= [0=target2,nie,tak] /correctresponse = (205) /validresponse = (203,205) /branch = [trial.reset] </trial>
<trial reset> / ontrialbegin = [item.set.clearitems(); list.stimulus.reset();list.pos.reset(); values.trial_no=0;] / recorddata = false / timeout = 200 </trial>
<block A> /trials= [1=A] /bgstim = (video_fp) </block>
<block Atarget> /trials= [1=sequence(target1,target2)] </block>
<expt> / blocks = [1-10=sequence(a,atarget)] </expt>
|
Group: Forum Members
Posts: 51,
Visits: 256
|
Yes! Your suggestion is a great idea. Works perfect Thank You ;)
|