docs: def make_imagehdu(data, wcs=None):
      """
      Create a FITS `~astropy.io.fits.ImageHDU` containing the input 2D
      image.
  
      Parameters
      ----------
      data : 2D array-like
          The input 2D data.
  
      wcs : `~astropy.wcs.WCS`, optional
          The world coordinate system (WCS) transformation to include in
          the output FITS header.
  
      Returns
      -------
      image_hdu : `~astropy.io.fits.ImageHDU`
          The FITS `~astropy.io.fits.ImageHDU`.
  
      See Also
      --------
      make_wcs
  
      Examples
      --------
      >>> from photutils.datasets import make_imagehdu, make_wcs
      >>> shape = (100, 100)
      >>> data = np.ones(shape)
      >>> wcs = make_wcs(shape)
      >>> hdu = make_imagehdu(data, wcs=wcs)
      >>> print(hdu.data.shape)
      (100, 100)
      """
  
      data = np.asanyarray(data)
      if data.ndim != 2:
          raise ValueError('data must be a 2D array')
  
      if wcs is not None:
          header = wcs.to_header()
      else:
          header = None
  
      return fits.ImageHDU(data, header=header)