code: def make_functional_connectivity(self, njobs=None, returngroup=False, file_hdr=None, file_idx=None):
          
          if not njobs:
              njobs = self.njobs
          self.add_history(inspect.stack()[0][3], locals(), 1)
          files = self.get_selected_files(quiet=1)
  
          R_group = []
  
          with ProcessPoolExecutor(max_workers=njobs) as executor:
              job = {executor.submit(
                  self._run_make_functional_connectivity, f, file_hdr, file_idx) for f in files}
              for j in as_completed(job):
                  R_group.append(j.result())
  
          if returngroup:
              # Fisher tranform -> mean -> inverse fisher tranform
              R_group = np.tanh(np.mean(np.arctanh(np.array(R_group)), axis=0))
              return np.array(R_group)
docs: Makes connectivity matrix for each of the subjects.
  
          Parameters
          ----------
          returngroup : bool, default=False
              If true, returns the group average connectivity matrix.
          njobs : int
              How many parallel jobs to run
          file_idx : bool
              Default False, true if to ignore index column in loaded file.
          file_hdr : bool
              Default False, true if to ignore header row in loaded file.
  
          Returns
          -------
          Saves data in derivatives/teneto_<version>/.../fc/
          R_group : array
              if returngroup is true, the average connectivity matrix is returned.