Python healpy ang2pix:planckerror

Python healpy ang2pix:planckerror,python,Python,我正在尝试将CATALOG.FIT转换为healpix fits图像。我能够阅读fits目录并将ra和dec转换为θ和φ。但当我使用ang2pix时,它会抛出一个错误“ 如果有人也面临类似问题,请回复 谢谢 费萨尔发现了问题,θ定义在0和π之间,如果给ang2pix一个负值,它将失败并出现该错误 我将在healpy源代码中添加一条更有意义的错误消息。我可以在哪里下载astro_util?或者您可以制作一个不使用它的示例?astro_util位于:source:您可以使用:pix=healpy.

我正在尝试将CATALOG.FIT转换为healpix fits图像。我能够阅读fits目录并将ra和dec转换为θ和φ。但当我使用ang2pix时,它会抛出一个错误“


如果有人也面临类似问题,请回复

谢谢


费萨尔

发现了问题,
θ
定义在0和π之间,如果给
ang2pix
一个负值,它将失败并出现该错误


我将在healpy源代码中添加一条更有意义的错误消息。

我可以在哪里下载astro_util?或者您可以制作一个不使用它的示例?astro_util位于:source:您可以使用:pix=healpy.ang2pix(512,np.弧度(90-nvss_dec,np.弧度(nvss_ra))而不是使用euler)它可能不是精确的转换,但可能足以测试ang2pix。问题已经解决。它与θ和φ约定更相关。ang2pix函数θ和φ参数遵循与I遵循的约定相反的经纬度约定:)我检查了库中的euler代码,然后检查了ang2pix以了解问题所在。谢谢Faisal
 Error encountered at /home/faisal/healpy/healpy-healpy-aa5f605/hpbeta  
 /Healpix_cxx/healpix_base.cc, line 829
 (function I T_Healpix_Base<I>::loc2pix(double, double, double, bool) const [with I = 
 long int])
-------------------
import numpy as np

import string as s

from scipy.interpolate import interp1d

import matplotlib.pyplot as plt

import healpy as hp

from numpy import sin, cos, arccos, arcsin, arctan2

import astro_util as au


#start healpy---------------------------



nvss_ra=np.arange(1,100,1) 

nvss_dec=np.arange(1,100,1)

print nvss_ra

theta,phi= au.euler(nvss_ra,nvss_dec,1)

print theta

theta1=theta/(57.3248)

phi1=phi/(57.3248)+((3.14159265359)/2)

nvssmap=np.zeros(hp.nside2npix(512))

#Working till this point

pix=hp.pixelfunc.ang2pix(512,theta1, phi1)




nvssmap[pix]=1

hp.fitsfunc.write_map("nvss_map.fits",nvssmap)