code: def read_calib_file(filepath):
      """Read in a calibration file and parse into a dictionary."""
      filedata = {}
  
      with open(filepath, "r") as f:
          for line in f.readlines():
              key, value = line.split(":", 1)
              # The only non-float values in these files are dates, which
              # we don't care about anyway
              try:
                  filedata[key] = np.array(
                      [float(x) for x in value.split()]
                  )
              except ValueError:
                  pass
  
      T_calib = np.reshape(filedata["Tr"], (3, 4))
      T_calib = np.vstack([T_calib, [0, 0, 0, 1]])
  
      return T_calib
  
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 for calling a global function with example usage: read_calib_file(filepath) and returns: T_calib