1

我正在使用 Healpy(用 Python 开发的 HEALPIx 工具)来读取和编写全天空 CMB 地图。

我对天空地图上的像素坐标如何转换为 numpy ndarray 的条目感到困惑。FITS 文件中的一个 HEALPix 像素如何转换为 ndarray 条目?

例如,假设我有一个生成的 CMB 图,Nside=64,lmax=64,使用默认的 RING 方案。总像素数由 Npix=12*Nside**2 给出。因此,在我的示例中,总像素数为 49152。

我拥有的 FITS 文件格式为 1 列乘 48 行。(第 1 列是所有温度值。)所以,我将此文件转换为 n-dim numpy ndarray。这个数组的形状是 (48,1024)。

问题1:这个二维数组是把天空上的所有地图像素投影成“矩阵”形式吗?我觉得是这样的。使用我的示例,48*1024 = 49152,像素总数。

问题二:1024标准从何而来?就 HEALPIx 地图及其坐标而言,这意味着什么?一个 2-dim ndarray 条目(像素)如何与另一个相关(按角度、按 HEALPix 位置等)?

再举一个例子,映射 Nside=1024。当我将其转换为二维 ndarray 时,我得到了形状 (12288, 1024)。

编辑:为什么存在这种 1024 元素数组的约定?这与地图上的像素坐标有何对应关系?

4

1 回答 1

1

有关 HEALPIX 像素化的最佳信息来源是 Healpix 入门:

http://healpix.jpl.nasa.gov/html/intro.htm

地图是一维向量,每个索引是天空中的一个像素。您可以使用 . 将像素数转换为天空中的坐标hp.pix2ang

将其整形为 1024 行只是使读/写磁盘更快的技巧。

于 2015-04-17T00:12:39.823 回答