2016-04-06 18 views
-1

Birden fazla uzantıya sahip bir dosya oluşturan bu komut dosyası var, ancak eski dosyalardan başlıkları uzantılara eklemek istiyorum.Başlık üstbilgisine yeni dosya astropy

headermain = fits.getheader(file,0) 

ve

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

Ama her ikisi

ValueError: header must be a Header object

nasıl düzeltebilirim söyleyerek beni hatalar verir:
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')) 

Şimdi ben denedim?

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

Genellikle karmaşık olmayan bir dosyadan Başlık nesne olarak başlık alma

cevap

1

http://pastebin.com/JXki7EPV görüyoruz. Dosyayı astropy.io.fits.open() ile PrimaryHDU gelen Başlığını ayıklamak:

from astropy.io import fits 

filename = 'test.fits' 

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

veya getheader ile:

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

ve sonuç yazmakta sırasında kullanabileceğiniz bir fits.Header -Nesne olacaktır.

Dosyanız geçerli bir FITS dosyası değilse, sorun olabilir. Eğer bu işe yaramazsa, sorunuzu düzenleyebilir ve bu iki fonksiyondan herhangi birinin çıktısını gösterebilir misiniz?

print(headermain) 
+0

Her iki yöntemi de denedim ve her ikisi de aynı hatayı veriyor. Başlığın çıkışını yayınladım. – Coolcrab

+0

Nevermind, problemi buldu! – Coolcrab

+0

@Coolcrab - Eğer Hatayı kendiniz bulursanız kendi sorunuza cevap verebilirsiniz. :) – MSeifert

İlgili konular