我正在开发一个 CNN 类星体探测器,它将光谱作为输入,并将其分类为类星体或非类星体。 我目前正在从该网站收集数据:https://dr18.sdss.org/optical/spectrum/search?plateid=266&mjd=51602&run2d=26&action=search。我使用wget方法下载fits文件,然后将其加载到python中。我面临的问题是这段代码的输出:
from astropy.io import fits
arr = fits.open('test.fits')
print(arr[0].header)
print(arr[0].data)
似乎与类星体无关。另一个问题是适合观众不会打开此内容。为什么?我需要更改什么才能查看光谱?
我从您的链接下载了第一个 QSO 文件(对象 299490226730985472)。然后我检查了full FITS 文件。它包含一个主 HDU(与每个 FITS 文件一样)和三个二进制表扩展。
主要 HDU 的标题表明我们正在研究科学观察,但细节缺失。
第一个二进制表扩展的标题提到
COMMENT Coadded spectrum
这听起来很有希望。
我猜测了一些关于哪些列与简单绘图相关的列,并使用
loglam
和 flux
列绘制了以下内容:
我将让你判断这是否是 QSO 频谱。
为了确认和比较:这个特定物体的斯隆页面是 https://dr18.sdss.org/optical/spectrum/view?id=330136&plate=266&mjd=51602&fibreid=3 ,它显示了相同的光谱,但更详细,以及各种其他细节。
您没有看到任何内容的原因是您跳过了其他 FITS 扩展(除非您下载了完全错误的文件)。但在主 HDU 中拥有“频谱”是没有意义的,它“始终”必须包含图像(或者,在本例中,是空图像,即根本没有数据)。 因此,您应该始终检查完整文件及其所有扩展名。您或许还可以在网站的文档中找到更多信息。