class_docstr: this class is a dataset just for testing.
  if we compute descriptors on patches,  at each iteration,
  the test dataset must change
class_docstr_tok: ["this","class","is","a","dataset","just","for","testing",".","if","we","compute","descriptors","on","patches",",","at","each","iteration",",","the","test","dataset","must","change"]
code: def __init__(self, dataset_opt):
      super().__init__(dataset_opt)
      pre_transform = self.pre_transform
      test_transform = self.test_transform
  
      self.base_dataset = Test3DMatch(
          root=self._data_path,
          radius_patch=dataset_opt.radius_patch,
          pre_transform=pre_transform,
          transform=test_transform,
          num_random_pt=dataset_opt.num_random_pt,
      )
  
      if dataset_opt.is_patch:
          self.test_dataset = self.base_dataset.get_patches(0)
      else:
          self.test_dataset = self.base_dataset
  
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 1 to create a new Test3DMatchDataset object from inherited base classes: BaseDataset with example: obj = Test3DMatchDataset(dataset_opt)