docs: def gen_all_current_dipoles(self):
          """Generate all possible current dipoles for the given number of
          electrodes (self.nr_electrodes). Duplicates are removed in the process.
  
          After Noel and Xu, 1991, for N electrodes, the number of possible
          unique configurations is :math:`N \cdot (N - 1) / 2`. This excludes
          duplicates in the form of switches current/voltages electrodes, as well
          as reciprocal measurements.
  
          Returns
          -------
          configs: Nx2 numpy.ndarray
              all possible current dipoles A-B
          """
          N = self.nr_electrodes
          celecs = list(range(1, N + 1))
          AB_list = itertools.permutations(celecs, 2)
          AB = np.array([ab for ab in AB_list])
          AB.sort(axis=1)
  
          # now we need to filter duplicates
          AB = np.unique(AB.view(AB.dtype.descr * 2)).view(AB.dtype).reshape(
              -1, 2)
  
          return AB