[英]Cannot open file with PyFITS
我有一些包含來自CCD相機的圖像的.fit
文件,我似乎無法使用PyFITS打開它們。 我是PyFITS的完全新手,所以我不知道我有哪些(如果有)選項。 這是我正在嘗試的:
import pyfits
hdulist = pyfits.open('apex5_1_90s.fit')
返回錯誤:
Traceback (most recent call last):
File "\\uol.le.ac.uk\root\staff\home\l\lvh8\Desktop Files\Prototype Data\spextract.py", line 3, in <module>
hdulist = pyfits.open('apex5_1_90s.fit')#, ignore_missing_end=True)
File "C:\Python27\lib\site-packages\pyfits\hdu\hdulist.py", line 118, in fitsopen
return HDUList.fromfile(name, mode, memmap, save_backup, **kwargs)
File "C:\Python27\lib\site-packages\pyfits\hdu\hdulist.py", line 250, in fromfile
save_backup=save_backup, **kwargs)
File "C:\Python27\lib\site-packages\pyfits\hdu\hdulist.py", line 803, in _readfrom
hdu = _BaseHDU.readfrom(ffo, **kwargs)
File "C:\Python27\lib\site-packages\pyfits\hdu\base.py", line 299, in readfrom
hdr = Header.fromfile(fileobj, endcard=not ignore_missing_end)
File "C:\Python27\lib\site-packages\pyfits\header.py", line 476, in fromfile
raise IOError('Header missing END card.')
IOError: Header missing END card.
另一方面,如果我嘗試:
import pyfits
hdulist = pyfits.open('apex5_1_90s.fit', ignore_missing_end=True)
我被告知:
Error validating header for HDU #1 (note: PyFITS uses zero-based indexing).
Header size is not multiple of 2880: 1920
There may be extra bytes after the last HDU or the file is corrupted.
我真的不知道這意味着什么,也不知道該怎么辦,因此,我們將不勝感激!
看來您的文件已損壞或標題出現問題。 您確定您有一個有效的FITS文件嗎? 根據PyFITS文檔:
FITS格式的問題在於,某些來源的文件中出現了許多不符合FITS標准的約定,以至於它已經很古老了。 然而,它們是如此普遍,以至於有必要在任何FITS讀者中提供支持。 連續卡就是這樣一個例子。
(......)如果PyFITS是有打開文件的麻煩,一個很好的方式,以排除沒有這個問題是否與PyFITS是運行通過的文件fitsverify 。 如果文件格式錯誤,fitsverify將輸出錯誤和警告。 如果fitsverify確認文件沒有問題,而PyFITS仍無法打開文件(...),則可能是PyFITS中存在錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.