Stationary stimulus disappears when background stimulus becomes dynamic

URL of experiment: https://run.pavlovia.org/Tcottier96/flashgrabfinal/html

Description of the problem: I have an annulus (image component) rotating clockwise and counterclockwise. The orientation of this annulus is updated every frame in a code component. The orientation of the annulus in the builder’s image component is “set every repeat”. The rest of the Annulus’s properties are constant.

I am trying to get a fixation point (regular polygon component) to be presented on top of this annulus, in the centre of the screen. The fixation point appears correctly when the annulus is stationary, but will disappear when the annulus begins rotation.

I have tried these code solutions, unfortunately no changes occurred and the fixation point still disappears:

  • Putting in the each frame tab of a code component:
TrialFP.setPos([0,0])
TrialFP.setPos(0,0).
TrialFP.setSize(0.02, 0.02)
TrialFP.draw()
  • I put in the begin routine tab TrialFP.setAutoDraw(True) and in the end routine TrialFP.setAutoDraw(False)
    Finally, I set the FixationPoint’s builder component to update size and position everyframe, and again the fixation point still disappeared.

Hello there,

Please could you also share the link to the gitlab repository? (you may have to make that public to share. Searching for experiments on Pavlovia — PsychoPy v2021.1)

Thanks,
Becca

Hi Becca,

Here is the link to the gitlab repository:

Hi Becca,

In a second experiment I have discovered the same problem as well. When my background is static, the fixation dot’s polygon components are visible. However, during dynamic trials the fixation point disappears for the duration of the whole trial. Which is unusual, because in this second experiment, in the dynamic trials the background is static for the first 50 or so frames, yet no fixation point appears.
In the dynamic trials I am setting the fixation points size each frame when the background is changing, in the each frame tab of a code component.

The really fascinating thing is if I replace the polygon component with an image component the fixation point always stay visible. I made this work by putting: FixPointOld.setImage('FixationCircle.png') in the each frame tab of a code component. This code is only executed when the background is changing. All the image components values are set to constant.

Hi Tim,

This looks a like a bug - I have flagged it to the PsychoJS developers here BUG: Dynamic stimuli overlay static elements online · Issue #298 · psychopy/psychojs · GitHub Good detective work so far though perhaps your temporary solution is to use an image stimulus as your fixation point as you have done there until we have a more permanent solution!

Becca

Becca