code: def immersion(self, point):
      theta = point[..., 0]
      phi = point[..., 1]
      return gs.stack(
          [
              gs.cos(phi) * gs.sin(theta),
              gs.sin(phi) * gs.sin(theta),
              gs.cos(theta),
          ],
          axis=-1,
      )
  
imports: import geomstats.backend
  from geomstats.geometry.base import ImmersedSet
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.invariant_metric import BiInvariantMetric
  from geomstats.geometry.pullback_metric import PullbackDiffeoMetric
  from geomstats.test_cases.geometry.diffeo import CircleSO2Diffeo
  from geomstats.test_cases.geometry.riemannian_metric import RiemannianMetricTestCase
label_desc: Use image node_id 2 for calling the SphereIntrinsic obj's underlying member method code with example usage: obj.immersion(point) and returns: gs