docs: def _check_covariance(covariance):
          """
          Check and modify the covariance matrix in the case of
          "infinitely" thin detections.  This follows SExtractor's
          prescription of incrementally increasing the diagonal elements
          by 1/12.
          """
  
          p = 1. / 12     # arbitrary SExtractor value
          val = (covariance[0, 0] * covariance[1, 1]) - covariance[0, 1]**2
          if val >= p**2:
              return covariance
          else:
              covar = np.copy(covariance)
              while val < p**2:
                  covar[0, 0] += p
                  covar[1, 1] += p
                  val = (covar[0, 0] * covar[1, 1]) - covar[0, 1]**2
              return covar