code: def __init__(self, dataset_opt):
      self.dataset_opt = dataset_opt
  
      # Default dataset path
      dataset_name = dataset_opt.get("dataset_name", None)
      if dataset_name:
          self._data_path = os.path.join(
              dataset_opt.dataroot, dataset_name
          )
      else:
          class_name = self.__class__.__name__.lower().replace(
              "dataset", ""
          )
          self._data_path = os.path.join(
              dataset_opt.dataroot, class_name
          )
      self._batch_size = None
      self.strategies = {}
      self._contains_dataset_name = False
  
      self.train_sampler = None
      self.test_sampler = None
      self.val_sampler = None
  
      self._train_dataset = None
      self._test_dataset = None
      self._val_dataset = None
  
      self.train_pre_batch_collate_transform = None
      self.val_pre_batch_collate_transform = None
      self.test_pre_batch_collate_transform = None
  
      BaseDataset.set_transform(self, dataset_opt)
      self.set_filter(dataset_opt)
  
      self.used_properties = {}
  
imports: import os
  from abc import ABC, abstractmethod
  import logging
  import functools
  from functools import partial
  import numpy
  import torch
  import torch_geometric
  from torch_geometric.transforms import Compose, FixedPoints
  import copy
  from torch_points3d.models import model_interface
  from torch_points3d.core.data_transform import instantiate_transforms, MultiScaleTransform
  from torch_points3d.core.data_transform import instantiate_filters
  from torch_points3d.datasets.batch import SimpleBatch
  from torch_points3d.datasets.multiscale_data import MultiScaleBatch
  from torch_points3d.utils.enums import ConvolutionFormat
  from torch_points3d.utils.config import ConvolutionFormatFactory
  from torch_points3d.utils.colors import COLORS, colored_print
label_desc: Use image node_id 1 to create a new BaseDataset object  with example: obj = BaseDataset(dataset_opt)