code: def shot_rays(cap, xys):
      z = np.ones((xys.shape[0], 1))
      pcd_3d = PointCloudProjectorNp.pcd_2d_to_pcd_3d(
          xys,
          z,
          cap.intrinsic_matrix,
          cam2world=cap.cam_pose.camera_to_world,
      ).astype(np.float32)
      orig = np.stack(
          [cap.cam_pose.camera_center_in_world] * xys.shape[0]
      )
      dir = pcd_3d - orig
      dir = dir / np.linalg.norm(dir, axis=1, keepdims=True)
      return orig, dir
  
file_path: ml-neuman/utils/ray_utils.py
imports: import numpy
  import torch
  import igl
  from geometry.pcd_projector import PointCloudProjectorNp
  from utils.constant import DEFAULT_GEO_THRESH, PERTURB_EPSILON
label_desc: Use image node_id 2 for calling a global function with example usage: shot_rays(cap, xys) and returns: orig,  dir