code: def _compute_matches_between_fragments(self):
      ind = 0
      out_dir = osp.join(self.processed_dir, "test", "matches")
      if files_exist([out_dir]):  # pragma: no cover
          return
      makedirs(out_dir)
  
      list_scene = os.listdir(osp.join(self.raw_dir, "test"))
      for scene in list_scene:
          path_log = osp.join(self.raw_dir, "test", scene, "gt.log")
          list_pair_num, list_mat = read_gt_log(path_log)
          for i, pair in enumerate(list_pair_num):
              path1 = osp.join(
                  self.processed_dir,
                  "test",
                  "fragment",
                  scene,
                  "fragment_{:06d}.pt".format(pair[0]),
              )
              path2 = osp.join(
                  self.processed_dir,
                  "test",
                  "fragment",
                  scene,
                  "fragment_{:06d}.pt".format(pair[1]),
              )
              data1 = torch.load(path1)
              data2 = torch.load(path2)
              match = compute_overlap_and_matches(
                  data1,
                  data2,
                  self.max_dist_overlap,
                  trans_gt=torch.from_numpy(
                      np.linalg.inv(list_mat[i])
                  ).to(data1.pos.dtype),
              )
              match["path_source"] = path1
              match["path_target"] = path2
              match["name_source"] = str(pair[0])
              match["name_target"] = str(pair[1])
              match["scene"] = scene
              out_path = osp.join(
                  self.processed_dir,
                  "test",
                  "matches",
                  "matches{:06d}.npy".format(ind),
              )
              np.save(out_path, match)
              ind += 1
  
imports: import json
  import logging
  import numpy
  import pandas
  import os
  import os.path
  from plyfile import PlyData
  import shutil
  import torch
  import re
  import requests
  from zipfile import ZipFile
  import random
  from torch_geometric.data import Dataset, download_url, extract_zip
  from torch_geometric.data import Data
  from torch_points3d.core.data_transform import FixedSphereDropout
  from torch_points3d.datasets.registration.base_siamese_dataset import GeneralFragment
  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
  from torch_points3d.datasets.registration.pair import Pair, MultiScalePair
  from torch_points3d.datasets.registration.utils import tracked_matches
  from torch_points_kernels.points_cpu import dense_knn
label_desc: Use image node_id 6 for calling the Base3DMatchTest obj's underlying member method code with example usage: obj._compute_matches_between_fragments() without return types