如何将healpy地图转换并保存到不同的坐标系?

时间:2017-06-08 18:52:21

标签: python healpy

我有一个带有银河坐标的healpix地图。我想将该地图转换为赤道坐标系。我知道我可以使用mollview()函数在赤道坐标上绘制地图。你有什么方法可以保存这样变换后的地图吗?

由于 Vinu

1 个答案:

答案 0 :(得分:2)

以下功能可更改地图的坐标系。

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]

示例是你的案例