【问题标题】:Get coordinates for specific value on healpy mollview获取healpy mollview上特定值的坐标
【发布时间】:2019-01-19 10:35:12
【问题描述】:

是否可以从 healpy mollview 图中找到命中图特定值的坐标?

例如: 如果我有一个平滑的命中图并想使用遮罩:

mask = (hitmap > 2.054) & (hitmap < 2.056)

在命中图上找到所需的值。

hitmap 用于创建如下所示的 mollview 图:

hp.mollview(hitmap, xsize=2000)

那么是否可以通过使用蒙版找到与mollview plot中满足蒙版的像素对应的坐标(经度,纬度)?

非常感谢!

【问题讨论】:

    标签: python coordinates masking healpy


    【解决方案1】:

    最好的方法是通过hp.pix2ang()

    import healpy as hp
    import numpy as hp
    
    # Get the nside and number of pixels in your map
    nside = hp.get_nside(mask)
    npix = hp.nside2npix(nside)
    
    # Use pix2ang to get the (l, b) coordinates for each pixel
    glons, glats = hp.pix2ang(nside, np.arange(npix), lonlat=True)
    

    这将为您提供地图中每个像素的所有坐标 (l, b) 的列表。要仅获取掩码中的那些,只需使用:

    glons_eff = glons[mask]
    glats_eff = glats[mask]
    

    【讨论】:

    • 谢谢。这是用另一个图过度绘制 mollview 图的好方法吗?例如使用: hp.projplot(glons_eff,glats_eff, lonlat=True) 我尝试使用 healpy.projaxes.CartesianAxes.contour() 在值 2.055 处绘制轮廓(在掩码中的两个值之间)但这似乎不是为我工作......
    • 目前healpy没有内置绘制轮廓的函数,你说的这个函数在healpy最新版本中是没有的。
    猜你喜欢
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    相关资源
    最近更新 更多