docs: def make_4gaussians_image(noise=True):
      """
      Make an example image containing four 2D Gaussians plus a constant
      background.
  
      The background has a mean of 5.
  
      If ``noise`` is `True`, then Gaussian noise with a mean of 0 and a
      standard deviation of 5 is added to the output image.
  
      Parameters
      ----------
      noise : bool, optional
          Whether to include noise in the output image (default is
          `True`).
  
      Returns
      -------
      image : 2D `~numpy.ndarray`
          Image containing four 2D Gaussian sources.
  
      See Also
      --------
      make_100gaussians_image
  
      Examples
      --------
      .. plot::
          :include-source:
  
          from photutils import datasets
          image = datasets.make_4gaussians_image()
          plt.imshow(image, origin='lower', interpolation='nearest')
      """
  
      table = Table()
      table['amplitude'] = [50, 70, 150, 210]
      table['x_mean'] = [160, 25, 150, 90]
      table['y_mean'] = [70, 40, 25, 60]
      table['x_stddev'] = [15.2, 5.1, 3., 8.1]
      table['y_stddev'] = [2.6, 2.5, 3., 4.7]
      table['theta'] = np.array([145., 20., 0., 60.]) * np.pi / 180.
  
      shape = (100, 200)
      data = make_gaussian_sources_image(shape, table) + 5.
  
      if noise:
          data += make_noise_image(shape, type='gaussian', mean=0.,
                                   stddev=5., random_state=12345)
  
      return data