code: def load_sample(
      self, metadata: Dict[str, str], has_label: bool = True
  ) -> Any:
      pc = KITTI.read_lidar(metadata["scan_path"])
      calib = KITTI.read_calib(metadata["calibration_path"])
      label = None
      if has_label:
          label = KITTI.read_label(metadata["label_path"], calib)
  
      reduced_pc = DataProcessing.remove_outside_points(
          pc, calib["world_cam"], calib["cam_img"], self.image_size
      )
  
      attr = {
          "name": basename(metadata["scan_path"]),
          "path": metadata["scan_path"],
          "calibration_path": metadata["calibration_path"],
          "label_path": metadata["label_path"] if has_label else None,
          "split": "val",
      }
  
      data = {
          "point": reduced_pc,
          "full_point": pc,
          "feat": None,
          "calib": calib,
          "bounding_boxes": label if has_label else None,
          "attr": attr,
      }
      return data, attr
  
imports: import os
  from os.path import basename, dirname, exists, isdir, isfile, join
  from typing import Any, Dict, List, Optional, Type, Union
  import yaml
  from flash.core.data.io.input import BaseDataFormat, Input
  from flash.core.utilities.imports import _TOPIC_POINTCLOUD_AVAILABLE
label_desc: Use image node_id 4 for calling the KITTIPointCloudObjectDetectorLoader obj's underlying member method code with example usage: obj.load_sample(metadata, has_label) and returns: data,  attr