2015-04-28 66 views
4

我在用Iraf生成的適合文件中有一個譜圖。波長軸在頭部被編碼爲:如何閱讀IRAF多譜質譜?

WAT0_001= 'system=multispec' 
WAT1_001= 'wtype=multispec label=Wavelength units=angstroms' 
WAT2_001= 'wtype=multispec spec1 = "1 1 2 1. 2.1919422441886 4200 0. 452.53 471' 
WAT3_001= 'wtype=linear' 
WAT2_002= '.60 1. 0. 3 3 1. 4200.00000000001 1313.88904209266 1365.65012876239 ' 
WAT2_003= '1422.67911152069 1479.0560707956 1535.24082980747 1584.94609332243' 

有沒有簡單的方法來加載到python?

+0

你已經安裝了Pyfits或astropy? – Tom

+0

@Tom。我們在Facebook上爲天文學家討論了這個問題,並找到了答案。我們想打開一篇文章,併爲將來的參考答案。 –

回答

8

我一直在使用this代碼,這是由Rick White給我的。然而,specutils包可能是更好的方式來做到這一點:

from specutils.io import read_fits 
spectra_list = read_fits.read_fits_spectrum1d('mymultispec.fits') 
print spectra_list[0] 
    Spectrum1D([ 338.06109619, 395.59234619, 326.0012207 , ..., 
     660.0098877 , 686.54498291, 689.58374023]) 

print spectra_list[1].dispersion 
    <Quantity [ 8293.44875263, 8293.40459999, 8293.36044556,..., 
     8166.53073537, 8166.48250242, 8166.43426803] Angstrom> 
+0

你能將此標記爲正確答案嗎?這樣,一個新手就會知道這是有效的。 – gabra

+0

我同意,specutils是要走的路。 – Iguananaut