The following function changes the coordinate system of the map.
def change_coord(m, coord):
""" Change coordinates of a HEALPIX map
Parameters
m : map or array of maps
map(s) to be rotated
coord : sequence of two character
First character is the coordinate system of m, second character
is the coordinate system of the output map. As in HEALPIX, allowed
coordinate systems are 'G' (galactic), 'E' (ecliptic) or 'C' (equatorial)
Example
The following rotate m from galactic to equatorial coordinates.
Notice that m can contain both temperature and polarization.
>>>> change_coord(m, ['G', 'C']
"""
# Basic HEALPix parameters
npix = m.shape[-1]
nside = hp.npix2nside(npix)
ang = hp.pix2ang(nside, np.arange(npix))
# Select the coordinate transformation
rot = hp.Rotator(coord=reversed(coord))
# Convert the coordinates
new_ang = rot(*ang)
new_pix = hp.ang2pix(nside, *new_ang)
return m[..., new_pix]
Example of your case
source
share