docs: def angle_subtended(ell, **kwargs):
      """
      Compute the half angle subtended (or min and max angles)
      for an offset elliptical conic
      from the origin or an arbitrary viewpoint.
  
      kwargs:
          tangent  Return tangent instead of angle (default false)
          viewpoint   Defaults to origin
      """
      return_tangent = kwargs.pop('tangent',False)
  
      con, transform, offset = ell.projection(**kwargs)
      v = N.linalg.norm(N.array(con.major_axes()),axis=1)
      A = N.sort(v)[::-1] # Sort highest values first
      A = N.squeeze(A)
      B = N.linalg.norm(offset)
      if return_tangent: return A/B
      return N.arctan2(A,B)