[英]FITS data handling in healpy
我正在嘗試在 python 中映射一個 FITS 數據文件,並開始遵循他們網站上提供的健康文檔。 但是我無法讀取我必須為其創建地圖的 FITS 文件,因為它給了我一些我無法理解的錯誤。 我將提供下面的代碼 -
import matplotlib.pyplot as plt
import numpy as np
import healpy as hp
NSIDE = 32
"""
print(
"Approximate resolution at NSIDE {} is {:.2} deg".format(
NSIDE, hp.nside2resol(NSIDE, arcmin=True) / 60
)
)
"""
NPIX = hp.nside2npix(NSIDE)
print(NPIX)
m = np.arange(NPIX)
hp.mollview(m,title="Mollview Ring Image")
hp.graticule()
vec = hp.ang2vec(np.pi / 2, np.pi * 3 / 4)
print(vec)
ipix_disc = hp.query_disc(nside=32, vec=vec, radius=np.radians(10))
m = np.arange(NPIX)
m[ipix_disc] = m.max()
hp.mollview(m, title="Mollviewimage Ring")
theta, phi = np.degrees(hp.pix2ang(nside = 32, ipix = [0,1,2,3,4]))
theta
phi
hp.mollview(m, nest = True, title = "Mollview image Nested")
wmap = hp.fitsfunc.read_map("LOFAR_HBA_T1_DR1_catalog_v1.0.srl.fits")
我提供的錯誤是 -
runfile('/home/ubuntu/Documents/healpy/start.py', wdir='/home/ubuntu/Documents/healpy')
12288
[-7.07106781e-01 7.07106781e-01 6.12323400e-17]
Traceback (most recent call last):
File "/home/ubuntu/Documents/healpy/start.py", line 39, in <module>
wmap = hp.fitsfunc.read_map("LOFAR_HBA_T1_DR1_catalog_v1.0.srl.fits")
File "/home/ubuntu/anaconda3/lib/python3.8/site-packages/healpy/fitsfunc.py", line 391, in read_map
warnings.warn("NSIDE = {0:d}".format(nside))
TypeError: unsupported format string passed to NoneType.__format__
有人可以告訴我我做錯了什么嗎?
首先確保您使用的是最新版本的healpy
,我們最近修復了一個可能與此相關的錯誤。
第二,你確定LOFAR_HBA_T1_DR1_catalog_v1.0.srl.fits
是 HEALPix 格式嗎? 通常HEALPix
格式的地圖在其標頭中有一個有效的NSIDE
參數。 您可以使用astropy
快速檢查標題:
from astropy.io import fits
hdul = fits.open(fits_image_filename)
print(hdul[1].header)
請參閱https://docs.astropy.org/en/stable/io/fits/usage/headers.html#value-access-updating-and-creating
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.