docs: def _smooth_epsf(self, epsf_data):
          """
          Smooth the ePSF array by convolving it with a kernel.
  
          Parameters
          ----------
          epsf_data : 2D `~numpy.ndarray`
              A 2D array containing the ePSF image.
  
          Returns
          -------
          result : 2D `~numpy.ndarray`
              The smoothed (convolved) ePSF data.
          """
  
          from scipy.ndimage import convolve
  
          if self.smoothing_kernel is None:
              return epsf_data
  
          elif self.smoothing_kernel == 'quartic':
              # from Polynomial2D fit with degree=4 to 5x5 array of
              # zeros with 1. at the center
              # Polynomial2D(4, c0_0=0.04163265, c1_0=-0.76326531,
              #              c2_0=0.99081633, c3_0=-0.4, c4_0=0.05,
              #              c0_1=-0.76326531, c0_2=0.99081633, c0_3=-0.4,
              #              c0_4=0.05, c1_1=0.32653061, c1_2=-0.08163265,
              #              c1_3=0., c2_1=-0.08163265, c2_2=0.02040816,
              #              c3_1=-0.)>
              kernel = np.array(
                  [[+0.041632, -0.080816, 0.078368, -0.080816, +0.041632],
                   [-0.080816, -0.019592, 0.200816, -0.019592, -0.080816],
                   [+0.078368, +0.200816, 0.441632, +0.200816, +0.078368],
                   [-0.080816, -0.019592, 0.200816, -0.019592, -0.080816],
                   [+0.041632, -0.080816, 0.078368, -0.080816, +0.041632]])
  
          elif self.smoothing_kernel == 'quadratic':
              # from Polynomial2D fit with degree=2 to 5x5 array of
              # zeros with 1. at the center
              # Polynomial2D(2, c0_0=-0.07428571, c1_0=0.11428571,
              #              c2_0=-0.02857143, c0_1=0.11428571,
              #              c0_2=-0.02857143, c1_1=-0.)
              kernel = np.array(
                  [[-0.07428311, 0.01142786, 0.03999952, 0.01142786,
                    -0.07428311],
                   [+0.01142786, 0.09714283, 0.12571449, 0.09714283,
                    +0.01142786],
                   [+0.03999952, 0.12571449, 0.15428215, 0.12571449,
                    +0.03999952],
                   [+0.01142786, 0.09714283, 0.12571449, 0.09714283,
                    +0.01142786],
                   [-0.07428311, 0.01142786, 0.03999952, 0.01142786,
                    -0.07428311]])
  
          elif isinstance(self.smoothing_kernel, np.ndarray):
              kernel = self.kernel
  
          else:
              raise TypeError('Unsupported kernel.')
  
          return convolve(epsf_data, kernel)