我有一些.fit文件,其中包含的图像从CCD相机,我似乎不能打开他们使用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.我真的不知道这意味着什么,我也不知道我能做些什么,所以任何帮助都是非常感谢的!
发布于 2013-08-15 15:03:27
似乎您的文件已损坏或与头有一些问题。你确定你有一个有效的FITS文件吗?基于PyFITS文档:
FITS格式的问题是,尽管它很老,但是在某些来源的文件中出现了许多不符合FITS标准的约定。然而,他们是如此普遍的地方,有必要支持他们在任何合适的读者。延续牌就是这样的例子。 (...)如果PyFITS在打开文件时遇到问题,排除PyFITS问题的一个好方法是通过适配验证运行该文件。如果文件格式不正确,fitsverify将输出错误和警告。如果PyFITS验证文件没有问题,那么PyFITS在打开它时仍然有问题(.)那么,很可能PyFITS中存在一个bug。
https://stackoverflow.com/questions/18255173
复制相似问题