code: def __init__(self, dataset_opt):
      super().__init__(dataset_opt)
      # update to OmegaConf 2.0
      use_instance_labels: bool = dataset_opt.get("use_instance_labels")
      use_instance_bboxes: bool = dataset_opt.get("use_instance_bboxes")
      donotcare_class_ids: [] = list(
          dataset_opt.get("donotcare_class_ids", [])
      )
      max_num_point: int = dataset_opt.get("max_num_point", None)
      is_test: bool = dataset_opt.get("is_test", False)
  
      self.train_dataset = ScannetObjectDetection(
          self._data_path,
          split="train",
          pre_transform=self.pre_transform,
          transform=self.train_transform,
          version=dataset_opt.version,
          use_instance_labels=use_instance_labels,
          use_instance_bboxes=use_instance_bboxes,
          donotcare_class_ids=donotcare_class_ids,
          max_num_point=max_num_point,
          is_test=is_test,
      )
  
      self.val_dataset = ScannetObjectDetection(
          self._data_path,
          split="val",
          transform=self.val_transform,
          pre_transform=self.pre_transform,
          version=dataset_opt.version,
          use_instance_labels=use_instance_labels,
          use_instance_bboxes=use_instance_bboxes,
          donotcare_class_ids=donotcare_class_ids,
          max_num_point=max_num_point,
          is_test=is_test,
      )
  
imports: import os
  import numpy
  import torch
  import logging
  from torch_geometric.data import InMemoryDataset
  from torch_points3d.datasets.segmentation.scannet import Scannet, NUM_CLASSES, IGNORE_LABEL
  from torch_points3d.metrics.object_detection_tracker import ObjectDetectionTracker
  from torch_points3d.datasets.base_dataset import BaseDataset, save_used_properties
  from torch_points3d.utils.box_utils import box_corners_from_param
label_desc: Use image node_id 1 to create a new ScannetDataset object from inherited base classes: BaseDataset with example: obj = ScannetDataset(dataset_opt)