@classmethod<EOL><INDENT>def padded_grid_from_shape_psf_shape_and_pixel_scale(cls, shape, psf_shape, pixel_scale):<DEDENT>
padded_shape = (shape[<NUM_LIT:0>] + psf_shape[<NUM_LIT:0>] - <NUM_LIT:1>, shape[<NUM_LIT:1>] + psf_shape[<NUM_LIT:1>] - <NUM_LIT:1>)<EOL>padded_regular_grid = grid_util.regular_grid_1d_masked_from_mask_pixel_scales_and_origin(<EOL>mask=np.full(padded_shape, False), pixel_scales=(pixel_scale, pixel_scale))<EOL>padded_mask = msk.Mask.unmasked_for_shape_and_pixel_scale(shape=padded_shape, pixel_scale=pixel_scale)<EOL>return PaddedRegularGrid(arr=padded_regular_grid, mask=padded_mask, image_shape=shape)<EOL>
Setup a regular padded grid from a 2D array shape, psf-shape and pixel-scale.

        The center of every pixel is used to setup the grid's (y,x) arc-second coordinates, including padded pixels \
        which are beyond the input shape but will blurred light into the 2D array's shape due to the psf.

        Parameters
        ----------
        shape : (int, int)
            The (y,x) shape of the masked-grid's 2D image in units of pixels.
        psf_shape : (int, int)
           The shape of the psf which defines the blurring region and therefore size of padding.
        pixel_scale : float
            The scale of each pixel in arc seconds