簡體   English   中英

健康中的 FITS 數據處理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM