class_docstr: Wrapper around S3DISSphere that creates train and test datasets.
  
  http://buildingparser.stanford.edu/dataset.html
  
  Parameters
  ----------
  dataset_opt: omegaconf.DictConfig
      Config dictionary that should contain
  
          - dataroot
          - fold: test_area parameter
          - pre_collate_transform
          - train_transforms
          - test_transforms
class_docstr_tok: ["Wrapper","around","S3DISSphere","that","creates","train","and","test","datasets",".","http",":","\/\/buildingparser.stanford.edu\/dataset.html","Parameters","--","--","--","--","--","dataset_opt",":","omegaconf.DictConfig","Config","dictionary","that","should","contain","-","dataroot","-","fold",":","test_area","parameter","-","pre_collate_transform","-","train_transforms","-","test_transforms"]
code: def __init__(self, dataset_opt):
      super().__init__(dataset_opt)
  
      sampling_format = dataset_opt.get("sampling_format", "cylinder")
      dataset_cls = (
          PanopticS3DISCylinder
          if sampling_format == "cylinder"
          else PanopticS3DISSphere
      )
  
      self.train_dataset = dataset_cls(
          self._data_path,
          sample_per_epoch=3000,
          test_area=self.dataset_opt.fold,
          split="train",
          pre_collate_transform=self.pre_collate_transform,
          transform=self.train_transform,
          keep_instance=True,
      )
  
      self.val_dataset = dataset_cls(
          self._data_path,
          sample_per_epoch=-1,
          test_area=self.dataset_opt.fold,
          split="val",
          pre_collate_transform=self.pre_collate_transform,
          transform=self.val_transform,
          keep_instance=True,
      )
      self.test_dataset = dataset_cls(
          self._data_path,
          sample_per_epoch=-1,
          test_area=self.dataset_opt.fold,
          split="test",
          pre_collate_transform=self.pre_collate_transform,
          transform=self.test_transform,
          keep_instance=True,
      )
  
      if dataset_opt.class_weight_method:
          self.add_weights(
              class_weight_method=dataset_opt.class_weight_method
          )
  
imports: import numpy
  import torch
  import random
  from torch_points3d.datasets.base_dataset import BaseDataset, save_used_properties
  from torch_points3d.datasets.segmentation.s3dis import S3DISSphere, S3DISCylinder, INV_OBJECT_LABEL
  import torch_points3d.core.data_transform
  from torch_points3d.metrics.panoptic_tracker import PanopticTracker
  from torch_points3d.datasets.panoptic.utils import set_extra_labels
label_desc: Use image node_id 1 to create a new S3DISFusedDataset object from inherited base classes: BaseDataset with example: obj = S3DISFusedDataset(dataset_opt)