class_docstr: Wrapper around Semantic Kitti that creates train and test datasets.
  Parameters
  ----------
  dataset_opt: omegaconf.DictConfig
      Config dictionary that should contain
          - root,
          - split,
          - transform,
          - pre_transform
          - process_workers
docstr: Factory method for the tracker
  Arguments:
      wandb_log - Log using weight and biases
      tensorboard_log - Log using tensorboard
  Returns:
      [BaseTracker] -- tracker
docstr_tok: ["Factory","method","for","the","tracker","Arguments",":","wandb_log","-","Log","using","weight","and","biases","tensorboard_log","-","Log","using","tensorboard","Returns",":","[","BaseTracker","]","--","tracker"]
code: def get_tracker(self, wandb_log: bool, tensorboard_log: bool):
      """Factory method for the tracker
      Arguments:
          wandb_log - Log using weight and biases
          tensorboard_log - Log using tensorboard
      Returns:
          [BaseTracker] -- tracker
      """
      return SegmentationTracker(
          self, wandb_log=wandb_log, use_tensorboard=tensorboard_log
      )
  
imports: import os
  from glob import glob
  import numpy
  import multiprocessing
  import logging
  import torch
  from torch_geometric.data import Dataset, Data
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.datasets.segmentation.kitti_config import *
  from torch_points3d.datasets.segmentation import IGNORE_LABEL
  from torch_points3d.metrics.segmentation_tracker import SegmentationTracker
label_desc: Use image node_id 2 for calling the SemanticKittiDataset obj's underlying member method code with example usage: obj.get_tracker(wandb_log, tensorboard_log) and returns: SegmentationTracker