5

我需要更改几个 FIT 图像标题中的一些值以适应我拥有的一些测试数据。因此,我正在尝试破解 FITs 图像标题以与应用程序一起运行。

然而此刻——我什至看不到标题,别介意破解它。我运行 Ubuntu。

谁能建议一些软件来查看 FIT - 甚至可以破解它?

4

6 回答 6

5

有点旧,但我认为答案可以使用一些更新和附加信息。

查看 .fits 文件

我个人最喜欢的用于查看“.fits”文件的 GUI 是DS9。安装后,您可以通过键入来查看文件ds9 /path/to/file.fits。或者,您可以只使用 GUI 中的菜单来加载图像。在查看器中加载图像后,您可以使用最顶部的菜单栏并转到“文件 -> 显示标题”来查看标题信息。不幸的是,我不相信您可以修改 DS9 中的标头。

修改适合标题

对于修改 fit 标头,我发现最简单的方法是使用astropy(一个 python 包)。由于您使用的是 Ubuntu,您应该可以通过 下载它apt-get,所以希望非常容易。要实际编辑 fit 标头,您可以在 python 脚本或解释器中执行以下操作(这里有一些额外的帮助):

# 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()

您也可以将其放入循环中以进行多个文件操作。

于 2016-07-15T17:59:00.530 回答
4

如果您熟悉python编程语言,您可以使用 astropy模块来查看和操作 fit 文件。假设您要查看文件“image.fits”的标题,然后执行以下操作:

from astropy.io.fits import getheader

header = getheader('image.fits') # Load the data
print header                     # Print the header to screen

如果要修改标头的特定键,请执行以下操作:

header['key'] = 'new_key' 
于 2016-01-12T11:00:02.680 回答
2

edhead似乎做得很好。我发现只有一个软件允许您在命令行编辑标题。

于 2010-02-12T10:27:37.967 回答
1

这是天文学家使用的灵活图像传输系统格式吗?

这个网站有一些背景信息和进一步的链接,但解释说

用户必须开发或获取单独的软件来读取和显示 FITS 文件中的数据。对于特定的应用程序和硬件,有许多不同的包,但没有适用于所有应用程序的单一标准包。

不过,您可以将其用于您自己的目的。

于 2010-02-08T11:26:21.703 回答
1

由于只回答了 1/2 的问题(编辑 FITS 标头),为了查看图像,我通常使用DS9(又名 SAOImage)。

此外,如果您要编辑大量 FITS 标头,我倾向于使用CFITSIOAstro::FITS::Header

...并且可以使用任何文本编辑器编辑 FITS 标题,只要您遵循一些简单的规则——卡片(键/值/注释集)总是 80 个字符长,并且 FITS 标题总是2880 字节。根据文件的不同,可能有多个标头,因为第一个标头可以声明文件包含多个图像或表格。

于 2010-06-23T03:43:37.210 回答
0

Sloan Digital Sky Survey 开发者网站一些可以满足您需求的库。

FitsLib - 用于在 Microsoft 的 .Net 平台上读取和操作 FITS 文件的库。FITS 代表灵活的图像传输系统。FitsLib 旨在为点网平台上的 FITS 文件提供一个接口。它是围绕CFITSIO库与 FITS 文件的接口构建的面向对象的包装器。

虽然 FitsLib 本身是为 C# 和 .NET Framework 设计的,但您可以在 Ubuntu 系统上的 Mono 下使用它。或者,也许您可​​以直接使用 CFITSIO 库,它是用 C 编写的。

于 2010-02-10T06:13:43.510 回答