docstr: KITTI Odometry dataset for pair registration
docstr_tok: ["KITTI","Odometry","dataset","for","pair","registration"]
code: def __init__(
      self,
      root,
      mode="train",
      max_dist_overlap=0.01,
      max_time_distance=3,
      min_dist=10,
      transform=None,
      pre_transform=None,
      pre_filter=None,
  ):
      """
      KITTI Odometry dataset for pair registration
      """
  
      self.mode = mode
      self.max_dist_overlap = max_dist_overlap
      self.max_time_distance = max_time_distance
      self.min_dist = min_dist
      if mode not in self.dict_seq.keys():
          raise RuntimeError(
              "this mode {} does "
              "not exist"
              "(train|val|test)".format(mode)
          )
      super(BaseKitti, self).__init__(
          root, transform, pre_transform, pre_filter
      )
  
imports: import glob
  import json
  import logging
  import numpy
  import os
  import os.path
  import shutil
  import torch
  from torch_geometric.data import Dataset, download_url, extract_zip
  from torch_geometric.data import Data
  from torch_points3d.datasets.registration.detector import RandomDetector
  from torch_points3d.datasets.registration.utils import rgbd2fragment_rough
  from torch_points3d.datasets.registration.utils import rgbd2fragment_fine
  from torch_points3d.datasets.registration.utils import compute_overlap_and_matches
  from torch_points3d.datasets.registration.utils import to_list
  from torch_points3d.datasets.registration.utils import files_exist
  from torch_points3d.datasets.registration.utils import makedirs
  from torch_points3d.datasets.registration.utils import get_urls
  from torch_points3d.datasets.registration.utils import PatchExtractor
label_desc: Use image node_id 1 to create a new BaseKitti object from inherited base classes: Dataset with example: obj = BaseKitti(root, mode, max_dist_overlap, max_time_distance, min_dist, transform, pre_transform, pre_filter)