Healpix¶
-
class
cygrid.
Healpix
(uint64_t nside=1, uint32_t scheme=RING)¶ Bases:
object
Helper class for HEALPix operations.
Implements conversion between HEALPix world and pixel coordinates (‘RING’ representation only). Also provides a
query_disc
method that returns a disc footprint for \(\varphi = 180^\circ\) for a given ring.- Parameters
Notes
A lot of the code in this class was adapted from the HEALPix C++ library. (Copyright (C) 2003-2012 Max-Planck-Society; author Martin Reinecke; see http://healpix.sourceforge.net)
Attributes Summary
property ncap : unsigned 64-bit int
property nface : unsigned 64-bit int
property npix : unsigned 64-bit int
property nrings : unsigned 64-bit int
property nside : unsigned 64-bit int
property omega : double
property order : unsigned 64-bit int
property resolution : double
property scheme : enum
Methods Summary
ang2pix
(self, double theta, double phi)Return the pixel index containing the angular coordinates \((\varphi, \vartheta)\).
ang2pix_many
(self, double[, double[)Return the pixel indices containing the angular coordinates of \((\varphi, \vartheta)\) arrays.
get_ring_info_small
(self, uint64_t ring)Return start index and number of pixels per healpix ring.
pix2ang
(self, uint64_t pix)Convert HEALPix index to angular coordinates \((\varphi, \vartheta)\).
pix2ang_many
(self, long[)Convert HEALPix indices to angular coordinates of \((\varphi, \vartheta)\) arrays.
pix2ring
(self, uint64_t pix)Return ‘ring’ number that contains the HEALPix pixel, ‘pix’.
pix2ring_many
(self, long[)Return ‘ring’ numbers containing HEALPix pixels given in array, ‘pix’.
query_disc
(self, double theta, double phi, …)Return hpx indices of a disc around \((\vartheta, \varphi)\).
query_disc_phi180
(self, …)Return HEALPix indices of a disc around \(\varphi=180^\circ\) for ‘disc_ring’.
Attributes Documentation
-
ncap
¶ - property ncapunsigned 64-bit int
Return the HEALPix ‘ncap’ parameter.
-
npface
¶ - property nfaceunsigned 64-bit int
Return the HEALPix ‘nface’ parameter.
-
npix
¶ - property npixunsigned 64-bit int
Return the HEALPix ‘npix’ parameter.
-
nrings
¶ - property nringsunsigned 64-bit int
Return the HEALPix ‘nrings’ parameter.
-
nside
¶ - property nsideunsigned 64-bit int
The HEALPix ‘nside’ parameter. (Re-)setting ‘nside’ updates other properties.
-
order
¶ - property orderunsigned 64-bit int
Return the HEALPix ‘order’ parameter.
-
resolution
¶ - property resolutiondouble
Return the angular size of the HEALPix pixels for current
nside
.
-
scheme
¶ - property schemeenum
The HEALPix ‘scheme’. Currently only ‘RING’ is supported.
Methods Documentation
-
ang2pix
(self, double theta, double phi)¶ Return the pixel index containing the angular coordinates \((\varphi, \vartheta)\).
Wrapper around the Cython-only (private) method _ang2pix.
- Parameters
- thetadouble
\(\vartheta\) coordinate (\(\vartheta = \pi/2 - \mathrm{latitude}\)).
- phidouble
\(\varphi\) coordinate (longitude).
- Returns
- pixunsigned 64-bit int
The HEALPix pixel index.
- Raises
- ValueError
Invalid theta value.
-
ang2pix_many
(self, double[::1] theta, double[::1] phi)¶ Return the pixel indices containing the angular coordinates of \((\varphi, \vartheta)\) arrays.
Wrapper around the Cython-only (private) method _ang2pix.
-
get_ring_info_small
(self, uint64_t ring)¶ Return start index and number of pixels per healpix ring.
Wrapper around the Cython-only (private) method
_get_ring_info_small
.- Parameters
- ringunsigned 64-bit int
The HEALPix ring parameter to get information on.
- Returns
- startpixunsigned 64-bit int
The HEALPix index of the first pixel in ring.
- num_pix_in_ringunsigned 64-bit int
The number of HEALPix pixels in ring.
- shiftedbool
Whether the central HEALPix pixel in that ring is shifted from \(\varphi=180^\circ\).
- Raises
- ValueError
Ring index not in valid range.
-
pix2ang
(self, uint64_t pix)¶ Convert HEALPix index to angular coordinates \((\varphi, \vartheta)\).
Wrapper around the Cython-only (private) method
_pix2ang
.- Parameters
- pixunsigned 64-bit int
The HEALPix pixel index.
- Returns
- thetadouble
\(\vartheta\) coordinate (\(\vartheta = \pi/2 - \mathrm{latitude}\)).
- phidouble
\(\varphi\) coordinate (longitude).
- Raises
- ValueError
pix
not in valid range.
-
pix2ang_many
(self, long[::1] pix)¶ Convert HEALPix indices to angular coordinates of \((\varphi, \vartheta)\) arrays.
Wrapper around the Cython-only (private) method
_pix2ang
.
-
pix2ring
(self, uint64_t pix)¶ Return ‘ring’ number that contains the HEALPix pixel, ‘pix’.
Wrapper around the Cython-only (private) method _pix2ring.
- Parameters
- pixunsigned 64-bit int
The HEALPix index.
- Returns
- ringunsigned 64-bit int
The HEALPix ring.
- Raises
- ValueError
Pixel index not in valid range.
-
pix2ring_many
(self, long[::1] pix)¶ Return ‘ring’ numbers containing HEALPix pixels given in array, ‘pix’.
Wrapper around the Cython-only (private) method _pix2ring.
-
query_disc
(self, double theta, double phi, double disc_size_rad)¶ Return hpx indices of a disc around \((\vartheta, \varphi)\).
This uses
query_disc_phi180
and shifts the pixels along ring.Wrapper around the cython-only (private) method _query_disc.
- Parameters
- theta/phidouble
Coordinates \((\vartheta, \varphi)\) in radians.
- disc_size_raddouble
Size of the disc in radians.
- Returns
- disc_indices
array
of unsigned 64-bit ints The HEALPix indices of the disc.
- disc_indices
-
query_disc_phi180
(self, double disc_size_rad, uint64_t disc_ring)¶ Return HEALPix indices of a disc around \(\varphi=180^\circ\) for ‘disc_ring’.
This is a modified version of the HEALPix library
query_disc
routine that returns the HEALPix indices of a disc around arbitrary coordinates. Here, it was modified to only work for coordinates having \(\varphi=180^\circ\) and a \(\vartheta\) that coincides with the latitude of a HEALPix ring. These discs can be shifted along \(\varphi\) - which is faster than callingquery_disc
if one cashes the \(\varphi=180^\circ\) discs.Wrapper around the Cython-only (private) method
_query_disc_phi180
.- Parameters
- disc_size_raddouble
Size of the disc in radians.
- disc_ringunsigned 64-bit int
HEALPix ring index of the requested disc center.
- Returns
- disc_indices
array
of unsigned 64-bit ints The HEALPix indices of the disc.
- disc_indices