@array_util.Memoizer()<EOL><INDENT>def blurring_mask_for_psf_shape(self, psf_shape):<DEDENT>
if psf_shape[<NUM_LIT:0>] % <NUM_LIT:2> == <NUM_LIT:0> or psf_shape[<NUM_LIT:1>] % <NUM_LIT:2> == <NUM_LIT:0>:<EOL><INDENT>raise exc.MaskException("<STR_LIT>")<EOL><DEDENT>blurring_mask = mask_util.mask_blurring_from_mask_and_psf_shape(self, psf_shape)<EOL>return Mask(blurring_mask, self.pixel_scale)<EOL>
Compute a blurring mask, which represents all masked pixels whose light will be blurred into unmasked \
        pixels via PSF convolution (see grid_stack.RegularGrid.blurring_grid_from_mask_and_psf_shape).

        Parameters
        ----------
        psf_shape : (int, int)
           The shape of the psf which defines the blurring region (e.g. the shape of the PSF)