healpix_geo.zuniq.healpix_to_cartesian#

healpix_geo.zuniq.healpix_to_cartesian(ipix, ellipsoid='sphere', num_threads=0)#

Get the cartesian coordinates of the center of the given HEALPix cells.

Parameters:
  • ipix (numpy.ndarray) – The HEALPix cell indexes given as a np.uint64 numpy array.

  • ellipsoid (ellipsoid-like, default: "sphere") – Reference ellipsoid to evaluate healpix on. If the reference ellipsoid is spherical, this will return the same result as cdshealpix.nested.healpix_to_lonlat().

  • num_threads (int, optional) – Specifies the number of threads to use for the computation. Default to 0 means it will choose the number of threads based on the RAYON_NUM_THREADS environment variable (if set), or the number of logical CPUs (otherwise)

Returns:

x, y, z (numpy.ndarray) – The coordinates of the center of the HEALPix cells.

Raises:
  • ValueError – When the HEALPix cell indexes given have values out of \([0, 4^{29 - depth}[\).

  • ValueError – When the name of the ellipsoid is unknown.

Examples

>>> from healpix_geo.zuniq import healpix_to_cartesian
>>> import numpy as np
>>> ipix = np.array([382805968326492160, 58546795155816448, 94575592174780416])
>>> x, y, z = healpix_to_cartesian(ipix, ellipsoid="WGS84")
>>> x
array([4728734.69011096, 3814362.85063174, 5302653.40426395])
>>> y
array([ 465739.71573273, 4647814.58136658, 2834327.29466645])
>>> z
array([4240471.60205904, 2121029.89621885, 2121029.89621885])