Gif animation as a fixation point problem


Author
Message
kulajw
kulajw
Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)
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


Attachments
gif_animation_fp.iqx (170 views, 3.00 KB)
fp200.gif (245 views, 17.00 KB)
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: 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).

Edited 10 Years Ago by Dave
kulajw
kulajw
Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)
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

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: 104K
I've listed two options in my previous reply (these were added for clarity).

kulajw
kulajw
Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)
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.



Opoverwrite 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). - See more at: http://www.millisecond.com/forums/Post.aspx?TopicID=14545&PageIndex=1&Task=PostTopicReply&ParentID=14545#sthash.GK6avNmF.dpuf
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.


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). - See more at: http://www.millisecond.com/forums/Post.aspx?TopicID=14545&PageIndex=1&Task=PostTopicReply&ParentID=14545#sthash.GK6avNmF.dpuf

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). - See more at: http://www.millisecond.com/forums/Post.aspx?TopicID=14545&PageIndex=1&Task=PostTopicReply&ParentID=14545#sthash.GK6avNmF.dpuf
(1) overwrite the fixation animation using *another* blank gif-animation - See more at: http://www.millisecond.com/forums/Topic14545.aspx#sthash.uv8hdy7P.dpuf

Attachments
white_animation.gif (233 views, 175 bytes)
white_animation.gif (232 views, 175 bytes)
fp.gif (229 views, 935 bytes)
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: 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>


kulajw
kulajw
Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)Guru (5.9K reputation)
Group: Forum Members
Posts: 51, Visits: 256



Yes!
Your suggestion is a great idea.

Works perfect
Thank You ;)





GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search