lsst.afw g5dde539398+b655ba634f
Loading...
Searching...
No Matches
Classes | Functions
lsst.afw.geom._hpxUtils Namespace Reference

Classes

class  _ZOrderCurve2DInt
 

Functions

def makeHpxWcs (hips_order, pixel, shift_order=9)
 

Function Documentation

◆ makeHpxWcs()

def 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.