psychopy.org | Reference | Downloads | Github

Alpha mask RGBs incorrect when useFBO=False

Hi PsychoPy Devs,

I’m coding some stimuli that require a raised cosine ramp transparency mask. For some reason (which I have since forgotten!), I set “useFBO” to False, and I have realised that this nudges RGB triplet up by one. The following code demonstrates it:

from psychopy import visual

win = visual.Window(size=[800, 800], fullscr=False, screen=0 ,
            allowGUI=False, allowStencil=True,
             useFBO=False, units="pix", checkTiming = True)

myMask3 = visual.filters.makeMask(256, 'raisedCosine', center = (0,0),fringeWidth=0.15, radius=1)
myMask3 = myMask3 * -1
surround_aperture = visual.GratingStim(win, units="pix", tex=None, mask=myMask3, size=200, \
                                      color=(0,0,0), pos=(0,0), ori=0,\
                                      texRes=1024, contrast = 1, opacity = 1)   
surround_aperture.draw()
win.getMovieFrame(buffer="back")
win.flip()
win.saveMovieFrames("RDK_scrnsqht.bmp")

Here’s a screenshot(left), and another screenshot with a 227(white) - 228(black) threshold.

Not sure if I’ve done something wrong, or if it is a bug, but I thought you may like to know.

I’m running Psychopy V2020.1.2 in Python 3.7 using Win10. GPU is an AMD RX580.

Thanks,

Martin.