【问题标题】:How do HEALPix FITS files of CMB maps translate into ndarrays? What are the coordinates?CMB 地图的 HEALPIx FITS 文件如何转换为 ndarrays?坐标是多少?
【发布时间】:2015-06-23 07:40:50
【问题描述】:

我正在使用 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,像素总数。

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

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

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

【问题讨论】:

  • 取函数healpy.fitsfunc.write_map() 为什么将IDL_fits参数设置为“如果为真,则在1024行中重塑列,否则所有数据将在一列中。默认值:真。 "为什么是 1024 列,这与 HEALPix 全天地图的坐标有何对应关系?
  • 1024 只是为了更快地读/写。与天空位置无关。

标签: python numpy healpy


【解决方案1】:

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

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

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

将其整形为 1024 行只是加快读取/写入磁盘的技巧。

【讨论】:

  • 我明白了。 1024 数字与天空位置无关。所以,我在 RING 方案中有一张地图。我想使用hp.pix2ang 来计算这张地图中每个像素的矢量坐标。如何做到这一点? hp.pix2ang 的参数是 nside 参数和 Healpix 像素数。
  • 在线查看文档
  • 我理解这个功能。问题是“ipix”输入参数的“像素索引”来自哪里?地图是一维向量。所有地图都有带索引的像素吗?怎么可能?
  • pixel 是数组中的位置。所以第一个元素是像素 0,第二个是像素 1。
猜你喜欢
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
相关资源
最近更新 更多