python – 在healpy中将旋转应用于HEALPix贴图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 在healpy中将旋转应用于HEALPix贴图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1300字,纯文字阅读大概需要2分钟。
内容图文
![python – 在healpy中将旋转应用于HEALPix贴图](/upload/InfoBanner/zyjiaocheng/818/86c088e4b6ee410a88760a59ed5e6c29.jpg)
我有一个HEALPix地图,我已经读过使用healpy,但它是在银河坐标中,我需要它在天体/赤道坐标.有人知道转换地图的简单方法吗?
我曾尝试使用healpy.Rotator从(l,b)转换为(phi,theta),然后使用healpy.ang2pix重新排序像素,但地图看起来仍然很奇怪.
如果有一个类似于Rotator的函数你可以调用它会很棒:map = AnotherRotator(map,coord = [‘G’,’C’]).有谁知道任何这样的功能?
谢谢,
亚历克斯
解决方法:
我意识到这是很久以前的问题,但本周我自己也遇到了同样的问题并找到了你的帖子.我找到了几个可能的解决方案,所以我会分享其他人遇到这个并发现它很有用.
解决方案1:这取决于数据的格式.我的是一个(theta,phi)网格.
import numpy as np
import healpy as H
map = <your original map>
nside = <your map resolution, mine=256>
npix = H.nside2npix(nside)
pix = N.arange(npix)
t,p = H.pix2ang(nside,pix) #theta, phi
r = H.Rotator(deg=True, rot=[<THETA ROTATION>, <PHI ROTATION>])
map_rot = np.zeros(npix)
for i in pix:
trot, prot = r(t[i],p[i])
tpix = int(trot*180./np.pi) #my data came in a theta, phi grid -- this finds its location there
ppix = int(prot*180./np.pi)
map_rot[i] = map[ppix,tpix] #this being the rright way round may need double-checking
解决方案2:还没有完成测试,但是在上面做了烦人的工作之后才发现它…
map_rot = H.mollview(map,deg=True,rot=[<THETA>,<PHI>], return_projected_map=True)
它给出了一个2D numpy数组.我很想知道如何将它转换成healpix地图……
内容总结
以上是互联网集市为您收集整理的python – 在healpy中将旋转应用于HEALPix贴图全部内容,希望文章能够帮你解决python – 在healpy中将旋转应用于HEALPix贴图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。