docs: def enu2aer(e: np.ndarray, n: np.ndarray, u: np.ndarray, deg: bool = True) -> Tuple[float, float, float]:
      """
      ENU to Azimuth, Elevation, Range
  
      Parameters
      ----------
  
      e : float or np.ndarray of float
          ENU East coordinate (meters)
      n : float or np.ndarray of float
          ENU North coordinate (meters)
      u : float or np.ndarray of float
          ENU Up coordinate (meters)
      deg : bool, optional
          degrees input/output  (False: radians in/out)
  
      Results
      -------
  
      azimuth : float or np.ndarray of float
          azimuth to rarget
      elevation : float or np.ndarray of float
          elevation to target
      srange : float or np.ndarray of float
          slant range [meters]
      """
      # 1 millimeter precision for singularity
  
      e = np.asarray(e)
      n = np.asarray(n)
      u = np.asarray(u)
  
      with np.errstate(invalid='ignore'):
          e[abs(e) < 1e-3] = 0.
          n[abs(n) < 1e-3] = 0.
          u[abs(u) < 1e-3] = 0.
  
          r = hypot(e, n)
          slantRange = hypot(r, u)
          elev = arctan2(u, r)
          az = arctan2(e, n) % tau
  
      if deg:
          az = degrees(az)
          elev = degrees(elev)
  
      return az, elev, slantRange