我正在使用Healpy(用Python开发的HEALPix工具)来读写全天空CMB地图。
我对天空地图上的像素坐标如何转换为numpy ndarray的条目感到困惑。 FITS文件中的一个HEALPix像素如何转换为ndarray条目?
例如,假设我使用默认的RING方案生成了CMB映射,Nside = 64,lmax = 64。像素总数由Npix = 12 * Nside ** 2给出。所以,对于我的例子,这是49152总像素数。
我所拥有的FITS文件格式为1列48行。 (1列是所有温度值。)因此,我将此文件转换为n-dim numpy ndarray。这个数组的形状给出(48,1024)。
问题1:这个二维数组是天空中所有地图像素投影到"矩阵"形成?我觉得是这样的。用我的例子,48 * 1024 = 49152,总像素数。
问题2:1024标准来自哪里?这对HEALPix地图及其坐标意味着什么?一个2-dim ndarray条目(像素)如何与另一个相关(按角度,通过HEALPix位置等)?
另一个例子,地图Nside = 1024。当我将其转换为二维ndarray时,我得到了形状(12288,1024)。
编辑:为什么这种1024元素数组的约定存在?这与地图上的像素坐标如何对应?
答案 0 :(得分:0)
关于HEALPIX像素化的最佳信息来源是Healpix引物:
http://healpix.jpl.nasa.gov/html/intro.htm
地图是一维向量,每个索引都是天空中的一个像素。
您可以使用hp.pix2ang
将像素数转换为天空中的坐标。
以1024行的方式对其进行整形只是一种快速读写/写入磁盘的技巧。