2016-04-06 23 views
-1

私はこのスクリプトを使って複数の拡張子を持つファイルを作成していますが、古いファイルのヘッダを拡張子に追加したいと思います。新しいファイルのastropyにヘッダをコピーする

headermain = fits.getheader(file,0) 

headermain = fits.open(file).header.copy() 

をしかし、両方が

ValueError: header must be a Header object

がどのように私はこの問題を解決できることを言って、私にエラーを与える:
new_hdul = fits.HDUList() 
new_hdul.append(fits.PrimaryHDU(header=headermain)) 
new_hdul.append(fits.ImageHDU(nod1, header=header1, name='Chop1')) 
new_hdul.append(fits.ImageHDU(nod2, header=header2, name='Chop2')) 
new_hdul.append(fits.ImageHDU(diff1, name='Dif')) 

は今、私が試してみましたか?

headermain = fits.getheader(file,0) 
print(headermain) 

は一般的に複雑ではありませんファイルからHeaderオブジェクトとしてヘッダを取得

答えて

1

http://pastebin.com/JXki7EPVを参照してください。あなたastropy.io.fits.open()ファイルとしてPrimaryHDUからヘッダを抽出します。

from astropy.io import fits 

filename = 'test.fits' 

with fits.open(filename) as hdus: 
    headermain = hdus[0].header 

またはgetheaderと:

headermain = fits.getheader(filename) # Defaults to primary header! 

、結果はあなたが書き込み中に使用することができますfits.Header -objectになります。

ファイルが有効なFITSファイルでない場合は、問題が発生する可能性があります。これで問題が解決しない場合は、質問を編集して、これらの2つの機能のいずれかの出力を表示できますか?

print(headermain) 
+0

私は両方の方法を試みましたが、両方とも同じエラーが発生しました。私は副本の出力を貼り付けた。 – Coolcrab

+0

問題が見つかりませんでした。 – Coolcrab

+0

@Coolcrab - 自分でエラーが見つかった場合は、自分の質問に答えることができます。 :) – MSeifert

関連する問題