code: def __init__(self, dataset_opt):
      super().__init__(dataset_opt)
      pre_transform = self.pre_transform
      ss_transform = getattr(self, "ss_transform", None)
      train_transform = self.train_transform
      test_transform = self.test_transform
      pre_filter = self.pre_filter
  
      self.train_dataset = SiameseModelNet(
          root=self._data_path,
          name_modelnet=dataset_opt.name_modelnet,
          train=True,
          min_size_block=dataset_opt.min_size_block,
          max_size_block=dataset_opt.max_size_block,
          max_dist_overlap=dataset_opt.max_dist_overlap,
          pre_transform=pre_transform,
          transform=train_transform,
          pre_filter=pre_filter,
          num_pos_pairs=dataset_opt.num_pos_pairs,
          ss_transform=ss_transform,
          min_points=dataset_opt.min_points,
          use_fps=dataset_opt.use_fps,
      )
  
      self.test_dataset = SiameseModelNet(
          root=self._data_path,
          name_modelnet=dataset_opt.name_modelnet,
          train=False,
          min_size_block=dataset_opt.min_size_block,
          max_size_block=dataset_opt.max_size_block,
          max_dist_overlap=dataset_opt.max_dist_overlap,
          pre_transform=pre_transform,
          transform=test_transform,
          pre_filter=pre_filter,
          num_pos_pairs=dataset_opt.num_pos_pairs,
          min_points=dataset_opt.min_points,
      )
  
imports: import numpy
  import random
  from itertools import repeat, product
  import os
  import os.path
  import torch
  from torch_geometric.data import Data
  from torch_points_kernels.points_cpu import ball_query
  from torch_points3d.datasets.classification.modelnet import SampledModelNet
  from torch_points3d.datasets.registration.base_siamese_dataset import BaseSiameseDataset
  from torch_points3d.datasets.registration.base_siamese_dataset import GeneralFragment
  from torch_points3d.metrics.registration_tracker import FragmentRegistrationTracker
  from torch_points3d.datasets.registration.pair import Pair, MultiScalePair
  from torch_points3d.datasets.registration.utils import tracked_matches
  from torch_points3d.datasets.registration.utils import compute_overlap_and_matches
label_desc: Use image node_id 1 to create a new SiameseModelNetDataset object from inherited base classes: BaseSiameseDataset with example: obj = SiameseModelNetDataset(dataset_opt)