code: def download_laser_scanner_point_clouds_for_video(
      video_id, metadata, download_dir
  ):
      video_metadata = metadata.loc[
          metadata["video_id"] == float(video_id)
      ]
      visit_id = video_metadata["visit_id"].iat[0]
      has_laser_scanner_point_clouds = video_metadata[
          "has_laser_scanner_point_clouds"
      ].iat[0]
  
      if not has_laser_scanner_point_clouds:
          print(
              f"Warning: Laser scanner point clouds for video {video_id} are not available"
          )
          return
  
      if math.isnan(visit_id) or not visit_id.is_integer():
          print(
              f"Warning: Downloading laser scanner point clouds for video {video_id} failed - Bad visit id {visit_id}"
          )
          return
  
      visit_id = int(visit_id)  # Expecting an 8 digit integer
      laser_scanner_point_clouds_ids = (
          laser_scanner_point_clouds_for_visit_id(
              visit_id, download_dir
          )
      )
  
      for point_cloud_id in laser_scanner_point_clouds_ids:
          download_laser_scanner_point_clouds(
              point_cloud_id, visit_id, download_dir
          )
  
file_path: ARKitScenes/download_data.py
imports: import argparse
  import subprocess
  import pandas
  import math
  import os
label_desc: Use image node_id 4 for calling a global function with example usage: download_laser_scanner_point_clouds_for_video(video_id, metadata, download_dir) without return types