我需要在幾個FIT圖像頭中更改幾個值以適應我的一些測試數據。因此,我試圖在一分鐘內破解FITs圖像頭以與應用程序一起運行。攻擊FITs圖像頭
然而在當下 - 我什至不能看到標題,沒關係破解它。我運行Ubuntu。
任何人都可以建議一些軟件來查看FITs - 也許甚至破解它?
我需要在幾個FIT圖像頭中更改幾個值以適應我的一些測試數據。因此,我試圖在一分鐘內破解FITs圖像頭以與應用程序一起運行。攻擊FITs圖像頭
然而在當下 - 我什至不能看到標題,沒關係破解它。我運行Ubuntu。
任何人都可以建議一些軟件來查看FITs - 也許甚至破解它?
edhead似乎很好地完成了這項工作。我發現只有一小段軟件允許你在命令行編輯頭文件。
這是天文學家使用的靈活圖像傳輸系統格式嗎?
This site有一些背景信息,並進一步聯繫,但解釋說,
用戶必須開發或獲取單獨的軟件來讀取,並從FITS文件中顯示的數據。對於特定的應用程序和硬件有許多不同的軟件包,但是對於所有應用程序沒有單一的標準軟件包。
不過,您可以將它用於您自己的目的。
該Sloan Digital Sky Survey developer web site有some libraries that should meet your needs。
FitsLib - 用於讀取和操縱庫符合微軟的.Net平臺上的文件。 FITS代表靈活的圖像傳輸系統。 FitsLib旨在爲DotNet平臺上的FITS文件提供一個接口。它是作爲面向對象的包裝器而構建的,它圍繞着FITS文件的庫接口。
儘管FitsLib本身是爲C#和.NET Framework設計的,但您可能可以在Ubuntu系統上的Mono下使用它。或者,也許你可以直接使用CFITSIO庫,它是用C編寫的。
由於只有1/2的問題得到解答(編輯FITS標題),所以我通常使用DS9(又名SAOImage)來查看圖像。
另外,如果你要進行編輯了很多FITS頭,我傾向於去與任何CFITSIO或Astro::FITS::Header
...,它是可以編輯FITS頭用任何文本編輯器,只要當您遵循一些簡單的規則時 - 卡片(鍵/值/註釋集)總是80個字符,而FITS標頭總是2880字節的倍數。根據文件的不同,可能會有多個標題,因爲第一個標題可能會聲明該文件包含多個圖像或表格。
如果您熟悉python
編程語言,則可以使用astropy模塊來查看和處理擬合文件。假設您想查看文件'圖片的標題。配合,那麼你就這樣做:
from astropy.io.fits import getheader
header = getheader('image.fits') # Load the data
print header # Print the header to screen
如果你想修改頭部的特定鍵,你這樣做:
header['key'] = 'new_key'
慈祥的老人,但我認爲答案可以使用一些更新和附加信息。
查看.fits文件
我個人最喜歡GUI用於查看」 .fits'文件是DS9。安裝後,您可以通過輸入ds9 /path/to/file.fits
查看文件。或者,您可以使用GUI中的菜單來加載圖像。在查看器中加載圖像後,您可以使用頂部的菜單欄並轉至「文件 - >顯示標題」來查看標題信息。不幸的是,我不相信你可以修改DS9中的頭文件。
修改適合頭
用於修改所述配合頭部,我發現的最簡單的方法是使用astropy(Python包)。既然你使用Ubuntu,你應該可以通過apt-get
下載它,所以很容易。要實際編輯擬合頭,你可以做一個python腳本以下,或解釋(here's some additional help):
# Import the astropy fits tools
from astropy.io import fits
# Open the file header for viewing and load the header
hdulist = fits.open('yourfile.fits')
header = hdulist[0].header
# Print the header keys from the file to the terminal
header.keys
# Modify the key called 'NAXIS1' to have a value of 100
header['NAXIS1'] = '100'
# Modify the key called 'NAXIS1' and give it a comment
header['NAXIS1'] = ('100','This value has been modified!')
# Add a new key to the header
header.set('NEWKEY','50.5')
# Save the new file
hdulist.writeto('MyNewFile.fits')
# Make sure to close the file
hdulist.close()
你也可以在多個文件操作的循環拋出此。
是的,它被天文學家使用。 – Federer 2010-02-08 11:27:40