Compound grating array

I have generated 16 Gaussian gratings arranged on two rings on psychopy (as p1). And now I want to change each grating with a certain orientation into a compound grating which is made of two gratings with different orientations (as p2). I want Two gratings of different orientations to be presented at the same time, each in half so that they are spliced together into one grating with two orientations.

I plan to use mask to achieve this stimulation image generation —— Generate a grating and cover the lower half with a mask, then generate another grating at the same location and cover the upper half with a mask. The problem, however, is that the previously unmasked half of the grating is covered with a new mask, and it seems that multiple masks cannot be used on one screen. :face_in_clouds::face_in_clouds::face_in_clouds:Is there any other way to achieve this stimulus?

Also, can I change the mask directly to half gaussian in the visual.ElementArrayStim attribute? This should do fine to present two stimulus arrays at the same time. But I don’t know how to set the mask to half gauss.

If someone could provide some solutions, thanks a lot!!!