code: def _do_cross_dots(
      intrad, volume, coils1, coils2, r0, ch_type, lut, n_fact
  ):
      """Compute lead field dot product integrations between two coil sets.
  
      The code is a direct translation of MNE-C code found in
      `mne_map_data/lead_dots.c`.
  
      Parameters
      ----------
      intrad : float
          The integration radius. It is used to calculate beta as:
          beta = (intrad * intrad) / (r1 * r2).
      volume : bool
          If True, compute volume integral.
      coils1 : list of dict
          The original coils.
      coils2 : list of dict
          The coils to which data is being mapped.
      r0 : array, shape (3 x 1).
          The origin of the sphere.
      ch_type : str
          The channel type. It can be 'meg' or 'eeg'
      lut : callable
          Look-up table for evaluating Legendre polynomials.
      n_fact : array
          Coefficients in the integration sum.
  
      Returns
      -------
      products : array, shape (n_coils, n_coils)
          The integration products.
      """
      if ch_type == "eeg":
          intrad = intrad * 0.7
      rmags1 = [coil["rmag"] - r0[np.newaxis, :] for coil in coils1]
      rmags2 = [coil["rmag"] - r0[np.newaxis, :] for coil in coils2]
  
      rlens1 = [np.sqrt(np.sum(r * r, axis=1)) for r in rmags1]
      rlens2 = [np.sqrt(np.sum(r * r, axis=1)) for r in rmags2]
  
      rmags1 = [r / rl[:, np.newaxis] for r, rl in zip(rmags1, rlens1)]
      rmags2 = [r / rl[:, np.newaxis] for r, rl in zip(rmags2, rlens2)]
  
      ws1 = [coil["w"] for coil in coils1]
      ws2 = [coil["w"] for coil in coils2]
  
      cosmags1 = [coil["cosmag"] for coil in coils1]
      cosmags2 = [coil["cosmag"] for coil in coils2]
  
      products = np.zeros((len(rmags1), len(rmags2)))
      for ci1 in range(len(coils1)):
          res = _fast_sphere_dot_r0(
              intrad,
              rmags1[ci1],
              rmags2,
              rlens1[ci1],
              rlens2,
              cosmags1[ci1],
              cosmags2,
              ws1[ci1],
              ws2,
              volume,
              lut,
              n_fact,
              ch_type,
          )
          products[ci1, :] = res
      return products
  
file_path: mne-python/mne/forward/_lead_dots.py
imports: import os
  import os.path
  import numpy
  from numpy.polynomial import legendre
  from ..parallel import parallel_func
  from ..utils import _get_extra_data_path, fill_doc, logger, verbose
label_desc: Use image node_id 10 for calling a global function with example usage: _do_cross_dots(intrad, volume, coils1, coils2, r0, ch_type, lut, n_fact) and returns: products