def nonhomogeneous(pt_homg):
  """ convert from homogeneous coordinates to non-homogenous

      Parameters
      ----------
      pt_homg : array_like
        The Homogeneous Coordinates

      Returns
      -------
      array_like
        The Non-homogenous Coordinates

      Raises
      ------
      ValueError
        Raised if an ideal point is passed
  """
  tolerance = 1e-6
  if abs(pt_homg[-1]) < tolerance:
    raise ValueError('Cannot convert ideal point to non-homogenous coordinates')
  return pt_homg[0:-1] / pt_homg[-1]