code: def get_patches(self, idx):
      fragment = torch.load(
          osp.join(self.path_table, "fragment_{:06d}.pt".format(idx))
      )
      patch_dataset = [
          self.patch_extractor(fragment, fragment.keypoints[i])
          for i in range(self.num_random_pt)
      ]
  
      simple_patch = SimplePatch(patch_dataset, self.transform)
      return simple_patch
  
imports: import numpy
  import os
  import os.path
  import torch
  import json
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.datasets.registration.basetest import Base3DMatchTest
  from torch_points3d.datasets.registration.basetest import SimplePatch
  from torch_points3d.datasets.registration.utils import PatchExtractor
  from torch_points3d.datasets.registration.detector import RandomDetector
  from torch_points3d.datasets.registration.pair import Pair, MultiScalePair
  from torch_points3d.datasets.registration.utils import tracked_matches
  from torch_points3d.datasets.registration.base_siamese_dataset import GeneralFragment
  from torch_points3d.datasets.registration.base_siamese_dataset import BaseSiameseDataset
label_desc: Use image node_id 3 for calling the Test3DMatch obj's underlying member method code with example usage: obj.get_patches(idx) and returns: simple_patch