- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一张 HEALPix 全天 map ,来自 AKARI Far Infrared Surveyor 数据库(公开发布)。我尝试使用 healpy
来“平滑” map ,但结果看起来很奇怪。有没有更好的办法?然而,我的问题与任何全天空 HEALPix map (即 IRAS、Planck、WISE、WMAP)有关。
我的目标是将此 AKARI map 的有效点扩散函数“平滑”到 1 度的角分辨率(原始数据的 PSF 约为 1 角分)。这样我就可以将远红外 AKARI map 与分辨率较低的微波 map (特别是那些异常微波前景)进行比较。
在我下面的例子中,我使用了 map 的降级版本,所以它足够小可以上传到 Github。这意味着像素约为 3.42 弧分。通常情况下,在 PSF 平滑之前,我不会将像素比例降低太多——但这只是一个例子:
#Load the packages needed for visualization, and HEALPix processing
%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import healpy as hp
import healpy.projector as pro
#Loads the HEALPix .FITS file into an array
map_in = hp.read_map("akari_WideL_1_1024.fits", nest = True)
#Visualizes the all-sky map, before any processing is done.
hp.mollview(map_in, title='AKARI All-Sky Map:', nest = True, norm = 'hist')
#Smoothes the map with a 1-degree FWHM Gaussian (fwhm given in radians).
map_out = hp.sphtfunc.smoothing(map_out, fwhm = 0.017, iter = 1)
#Visualizes the the map after smoothing
hp.mollview(map_out, title='AKARI All-Sky Map:', nest = True, norm = 'hist')
我已经尝试过 healpy.sphtfunct.smoothing 例程(https://healpy.readthedocs.org/en/latest/generated/healpy.sphtfunc.smoothing.html#healpy.sphtfunc.smoothing).As 据我所知,smoothing
将贴图转换为球谐函数,然后与高斯卷积,然后将其转换回空间图。
我已将 ipython 笔记本和低分辨率 .FITS HEALpix map 保存在 github 存储库中,此处:
https://github.com/aaroncnb/healpy_smoothing_test
(你需要安装healpy
包)
通过在 notebook 中运行代码,您可以很容易地想象出我遇到的问题 - 在平滑 map 之后,有一些奇怪的“伪像”,就好像像素已经被迭代框平均,而不是平滑圆形高斯轮廓。我希望看到的只是输入 map 的模糊版本。
我认为在平滑完成之前,我遗漏了一些关于转换为球谐函数的基本知识。
以前有人尝试过在 HEALPix map 上进行这种全天空平滑吗?
我相信另一种选择是将 map 转换为标准的矩形阵列,然后进行平滑处理。但是,我仍然对在不离开 HEALPix 格式的情况下解决问题感到好奇。
最佳答案
smoothing
似乎只适用于 RINGed map (这对我来说有点意义,因为这在数学上似乎更容易处理)。因此,您需要将输入映射转换为 RINGed 格式:
map_ring = hp.pixelfunc.reorder(map_in, inp='NEST', out='RING')
map_out = hp.sphtfunc.smoothing(map_ring, fwhm = 0.17, iter = 1)
hp.mollview(map_out, title='AKARI All-Sky Map:', nest = False, norm = 'hist')
(我认为这实际上是文档中的一个缺点:healpy.sphtfunc.smoothing
的文档没有提及输入所需的形式。我想这是一个有益的问题/改天公关。)
顺便说一句,在 Github 上创建 SSCCE 作为笔记本文件的奖励积分! (现在要是 StackOverflow 也能渲染笔记本就好了。)
关于python - 使用 `healpy` : Why does the output map appear "patchy"? 平滑 HEALPix 贴图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631079/
HEALPix 的 IDL 版本(pix2vec_nest)中有一个很好的函数,它可以返回带有像素顶点坐标的 vector (n,3,4)。C 版本中的相同函数不会执行相同的操作,并且看起来您只能知道
我有一个数据网格,其中行代表 theta (0, pi),列代表 phi (0, 2*pi),其中 f(theta,phi) 是该位置的暗物质密度。我想为此计算功率谱并决定使用 healpy。 我无法
在使用 healpy 时,我可以使用 在 Mollview 中绘制 Healpix map import healpy map = 'filename.fits' healpy.visufunc.mo
我有一个 HEALPix map ,我在使用 healpy 时已经阅读过,但是它是在银河坐标系中,我需要它在天体/赤道坐标系中。有人知道转换 map 的简单方法吗? 我曾尝试使用 healpy.Rot
我有一张 HEALPix 全天 map ,来自 AKARI Far Infrared Surveyor 数据库(公开发布)。我尝试使用 healpy 来“平滑” map ,但结果看起来很奇怪。有没有更
我已经在运行 OS X 10.9.5 的 Linux 和 MacBookPro 上成功安装并测试了 HealPix 3.11。在 Mac OS 上编译 healpix 库时,在配置脚本中我选择了“cx
我是 HEALPix 新手,对 Python 也相当陌生。我尝试使用healpy 将 HEALPix 索引转换为 RA,12 月。我知道我必须使用 pix2ang,但无法弄清楚如何将输出 theta,
我是一名优秀的程序员,十分优秀!