code: def __init__(self, *args, **kwargs):
      super(ScannetObjectDetection, self).__init__(*args, **kwargs)
  
      self.CLASS2TYPE = {self.TYPE2CLASS[t]: t for t in self.TYPE2CLASS}
      self.NYU40ID2CLASS = {
          nyu40id: i for i, nyu40id in enumerate(list(self.NYU40IDS))
      }
      self.MEAN_SIZE_ARR = np.load(
          os.path.join(DIR, "scannet_metadata/scannet_means.npz")
      )["arr_0"]
      self.TYPE_MEAN_SIZE = {}
      for i in range(len(self.NYU40IDS)):
          self.TYPE_MEAN_SIZE[self.CLASS2TYPE[i]] = self.MEAN_SIZE_ARR[
              i, :
          ]
  
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 ScannetObjectDetection object from inherited base classes: Scannet with example: obj = ScannetObjectDetection()