lsst.afw g8cdfe0ae6a+4fd9e222a8
Loading...
Searching...
No Matches
Classes | Functions
lsst.afw.geom._hpxUtils Namespace Reference

Classes

class  _ZOrderCurve2DInt
 

Functions

 makeHpxWcs (hips_order, pixel, shift_order=9)
 
 _hpx_projected_center (hips_order, pixel)
 

Function Documentation

◆ _hpx_projected_center()

lsst.afw.geom._hpxUtils._hpx_projected_center ( hips_order,
pixel )
protected
Compute the projected center for use in HPX WCS headers.

The values of cent_ra_proj, cent_dec_proj computed by this function are
typically outside of the cell pixel itself, and are not the same as
the values computed from HEALPix `pix2ang()'.

Code is adapted from AladinSrc.jar version 11.024, Tile2HPX.java.
AladinSrc.jar is licensed with GPLv3, see
http://aladin.u-strasbg.fr/COPYING

Parameters
----------
hips_order : `int`
    HiPS order, such that HEALPix nside=2**hips_order.
pixel : `int`
    Pixel number in the nest ordering scheme.

Returns
-------
cent_ra_proj, cent_dec_proj : `float`
    Projected center ra/dec in degrees.

Raises
------
`ValueError`: Raised if hips_order is <=0, or if pixel number is out of
    range for the given order (0 < 12*nside*nside).

Definition at line 151 of file _hpxUtils.py.

◆ makeHpxWcs()

lsst.afw.geom._hpxUtils.makeHpxWcs ( hips_order,
pixel,
shift_order = 9 )
Make a SkyWcs object with HEALPix grid projection (HPX).

The SkyWcs generated by this function is suitable to be used with a
Hierarchical Progressive Survey (HiPS) FITS image as described in
https://www.ivoa.net/documents/HiPS/20170519/REC-HIPS-1.0-20170519.pdf

A HiPS image covers one HEALPix cell, with the HEALPix nside equal to
2**hips_order. Each cell is 'shift_order' orders deeper than the HEALPix
cell, with 2**shift_order x 2**shift_order sub-pixels on a side, which
defines the target resolution of the HiPS image. The IVOA recommends
shift_order=9, for 2**9=512 pixels on a side.  See Notes below to
convert from hips_order to image resolution.

Parameters
----------
hips_order : `int`
    HiPS order, such that HEALPix nside=2**hips_order.
    Must be a positive integer.
pixel : `int`
    Pixel number in the nest ordering scheme.
shift_order : `int`, optional
    Shift order for subpixels, such that there are 2**shift_order
    sub-pixels on a side of the HiPS cell.
    Must be a positive integer.

Returns
-------
wcs : `lsst.geom.SkyWcs`

Raises
------
`ValueError`: Raise if hips_order is <=0, or if shift_order is <=0, or
    if pixel number is out of range for the given hips_order
    (0 <= pixel < 12*nside*nside).

Notes
-----
Table 5 from
https://www.ivoa.net/documents/HiPS/20170519/REC-HIPS-1.0-20170519.pdf
shows the relationship between hips_order, number of tiles (full
sky coverage), cell size, and sub-pixel size/image resolution (with
the default shift_order=9):

+------------+-----------------+--------------+------------------+
| hips_order | Number of Tiles | Cell Size    | Image Resolution |
+============+=================+==============+==================+
| 0          | 12              | 58.63 deg    | 6.871 arcmin     |
| 1          | 48              | 29.32 deg    | 3.435 arcmin     |
| 2          | 192             | 14.66 deg    | 1.718 arcmin     |
| 3          | 768             | 7.329 deg    | 51.53 arcsec     |
| 4          | 3072            | 3.665 deg    | 25.77 arcsec     |
| 5          | 12288           | 1.832 deg    | 12.88 arcsec     |
| 6          | 49152           | 54.97 arcmin | 6.442 arcsec     |
| 7          | 196608          | 27.48 arcmin | 3.221 arcsec     |
| 8          | 786432          | 13.74 arcmin | 1.61 arcsec      |
| 9          | 3145728         | 6.871 arcmin | 805.2mas         |
| 10         | 12582912        | 3.435 arcmin | 402.6mas         |
| 11         | 50331648        | 1.718 arcmin | 201.3mas         |
| 12         | 201326592       | 51.53 arcsec | 100.6mas         |
| 13         | 805306368       | 25.77 arcsec | 50.32mas         |
+------------+-----------------+--------------+------------------+

Definition at line 31 of file _hpxUtils.py.