class_docstr: Open hemisphere.
  
  An open set of the hypersphere where the first coordinate is always
  positive.
  
  .. math::
  
      \mathrm{HS}^{k-1}=\left\{x \in \mathbb{R}^k: \|x\|=1
      \text { and } x_0>0\right\}
class_docstr_tok: ["Open","hemisphere",".","An","open","set","of","the","hypersphere","where","the","first","coordinate","is","always","positive",".","..","math",":",":","\\mathrm","{","HS","}","^","{","k-1","}","=\\left\\","{","x","\\in","\\mathbb","{","R","}","^k",":","\\|x\\|=1","\\text","{","and","}","x_0",">","0\\right\\","}"]
docstr: Project a point on the open hemisphere.
  
  Parameters
  ----------
  point : array-like, shape=[..., dim]
      Point in embedding hypersphere space.
  
  Returns
  -------
  projected_point : array-like, shape=[..., dim]
      Point projected on the open hemisphere.
docstr_tok: ["Project","a","point","on","the","open","hemisphere",".","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","dim","]","Point","in","embedding","hypersphere","space",".","Returns","--","--","--","-","projected_point",":","array-like",",","shape=","[","...",",","dim","]","Point","projected","on","the","open","hemisphere","."]
code: def projection(self, point):
      """Project a point on the open hemisphere.
  
      Parameters
      ----------
      point : array-like, shape=[..., dim]
          Point in embedding hypersphere space.
  
      Returns
      -------
      projected_point : array-like, shape=[..., dim]
          Point projected on the open hemisphere.
      """
      proj_point = self.embedding_space.projection(point)
      proj_point[..., 0] = gs.abs(proj_point[..., 0])
      return proj_point
  
imports: import geomstats.backend
  from geomstats.geometry.base import OpenSet
  from geomstats.geometry.diffeo import Diffeo
  from geomstats.geometry.hyperboloid import Hyperboloid
  from geomstats.geometry.hypersphere import Hypersphere
  from geomstats.geometry.product_manifold import ProductManifold, ProductRiemannianMetric
  from geomstats.geometry.pullback_metric import PullbackDiffeoMetric
label_desc: Use image node_id 4 for calling the OpenHemisphere obj's underlying member method code with example usage: obj.projection(point) and returns: proj_point