What does image.setMask do?

What does ‘mask’ from imageStim do exactly? (Does it make parts of the image transparent, or is it like an overlay?) Why does the mask have to be a square? Is there a better way to create an overlay for an image to be displayed in a window? (I want to only show parts of the image, but through ‘holes’).

That sounds like you want an Aperture component, these let you obscure stimuli save for a specific area