code: def _compute_matches_between_fragments(self, mod):
      out_dir = osp.join(self.processed_dir, mod, "matches")
      if files_exist([out_dir]):  # pragma: no cover
          return
      makedirs(out_dir)
      ind = 0
      list_drive = self.dict_seq[mod]
      for drive in list_drive:
          path_fragment = osp.join(
              self.processed_dir,
              mod,
              "fragment",
              "{:02d}".format(drive),
          )
          list_name_frames = sorted(
              [f for f in os.listdir(path_fragment) if "pt" in f]
          )
  
          # pre_compute specific pair
          log.info("Compute the pairs")
          if self.min_dist is not None:
              pair_time_frame = compute_spaced_time_frame(
                  list_name_frames, path_fragment, self.min_dist
              )
          else:
              pair_time_frame = [
                  (i, j)
                  for i in range(len(list_name_frames))
                  for j in range(len(list_name_frames))
                  if (j - i) > 0 and (j - i) < self.max_time_distance
              ]
          log.info("Compute the matches")
          for i, j in pair_time_frame:
              out_path = osp.join(
                  out_dir, "matches{:06d}.npy".format(ind)
              )
              path1 = osp.join(path_fragment, list_name_frames[i])
              path2 = osp.join(path_fragment, list_name_frames[j])
              data1 = torch.load(path1)
              data2 = torch.load(path2)
              match = compute_overlap_and_matches(
                  data1, data2, self.max_dist_overlap
              )
              match["path_source"] = path1
              match["path_target"] = path2
              match["name_source"] = i
              match["name_target"] = j
              match["scene"] = drive
              np.save(out_path, match)
              ind += 1
  
imports: import glob
  import json
  import logging
  import numpy
  import os
  import os.path
  import shutil
  import torch
  from torch_geometric.data import Dataset, download_url, extract_zip
  from torch_geometric.data import Data
  from torch_points3d.datasets.registration.detector import RandomDetector
  from torch_points3d.datasets.registration.utils import rgbd2fragment_rough
  from torch_points3d.datasets.registration.utils import rgbd2fragment_fine
  from torch_points3d.datasets.registration.utils import compute_overlap_and_matches
  from torch_points3d.datasets.registration.utils import to_list
  from torch_points3d.datasets.registration.utils import files_exist
  from torch_points3d.datasets.registration.utils import makedirs
  from torch_points3d.datasets.registration.utils import get_urls
  from torch_points3d.datasets.registration.utils import PatchExtractor
label_desc: Use image node_id 6 for calling the BaseKitti obj's underlying member method code with example usage: obj._compute_matches_between_fragments(mod) without return types