在Python中打开没有“SIMPLE”关键字的fits文件。

3

我有很多的fits文件,由于缺少SIMPLE关键字,导致无法打开。当我尝试使用astropy的fits.open()打开它们时,会出现以下错误:

OSError: No SIMPLE card found, this file does not appear to be a valid FITS file

我尝试为fits.open()添加ignore_missing_simple=True选项,但仍然出错:

OSError: Empty or corrupt FITS file

我不确定该怎么办。我的第一个想法是编辑fits头文件以添加SIMPLE关键字,但是如果我无法打开文件,我不知道该如何处理这个问题。考虑到第二个错误信息,我在想这是否还有其他问题。

如果有影响的话,这些fits文件是我下载的,不是自己生成的。


你能用文本编辑器打开它们吗?我不熟悉FITS格式,所以不知道这样做是否有意义。 - Pranav Hosangadi
2
你有没有考虑到你正在打开的文件可能是一个“空或损坏的FITS文件”,就像错误信息所提示的那样? - Woodford
2
你从哪里下载的?你确定它们确实是FITS文件吗?听起来它们可能不是。如果你使用的是基于UNIX的操作系统,尝试在十六进制查看器中读取第一个头块,例如 hexdump -n 2880 -e '80/1 "%c""\n"' <文件名> - Iguananaut
2个回答

1
你使用的astropy版本是哪个?在4.3上出现了问题,但在4.2中可以正常工作。
这个GitHub问题报告了astropy存储库中的问题。
我建议你降级直到问题得到解决。

目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

1
我们追踪到问题出在astropy.io.fits版本4.3上。使用版本4.2生成的文件可以通过4.0或4.2读取,但是在4.3.1中会出现此错误。您可以尝试降级astropy.io.fits后再次尝试。

目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接