问题标签 [fits]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Adding columns to a FITS table with PyFITS
Let's assume I have a fits file with one extension, and the data consists of a table of two columns with 100 elements each
Now I want to add to my table a new column, let's say data['field3'], which is another array of 100 elements.
How exactly do I do that ?
python - 带有 numpy 的 HDU FITS 文件格式的索引错误
我正在尝试使用astropy
模块从 FITS 文件中读取数据fits
,然后使用标准的 numpy 数组处理。但是,由于某种原因,我收到以下错误:
这是我正在使用的代码:
^ 错误回溯到该flux = data[:, 1]
行。
这可能是天文学家可以回答的问题(或者,具体来说,天文学家熟悉.fits
SDSS 中的文件),但我欢迎 numpy 和 python 用户的输入!
python - 从 SDSS DR10 的 Fits 文件中获取图像
基本上,我只想使用已合并到 astropy 中的 pyfits从此处找到的 r-waveband fit 文件中获取图像数据。这是我的尝试:
目前,我只能看到微小的小点,而不是 jpeg 图像中看到的明亮星星。此外,ImageHDU 不包含图像(它不能,因为它是一维数组)知道为什么会这样吗?
最后,我试图从 (ra, dec) 的图像中识别我的目标星系。拟合文件有一个 (ra, dec) 与之关联,并且像素比例为每像素 0.396 弧秒。所以我想知道合并的(ra,dec)正在谈论哪个角落,这样我就可以推断图像中目标的位置!
python - 在python中读取适合文件
我在从 fit 文件中读取数据时遇到问题。通常我可以很好地从 fit 文件中读取数据,但现在我有一些数据文件给我带来了一些问题。当我尝试读取应该包含三列和一个标题的文件时,我得到的只是一个看起来像这样的数字表:
[[ 64 195 45 ...,0 0 0]]
现在这是整数,数据文件实际上应该包含三列,其中包含三列中的双精度和浮点数,如下所示:
[9819.3801, 0.00000, 0.00000]
[9820.0025、5.50764e-16、1.62396e-16]
[820.6248, -3.75781e-17, 1.51864e-16]
我知道我应该获取这些值,因为 IDL 中名为mrdfits的包可用于检索这些值。我尝试查看 fit 文件包含的数据类型和格式,我的代码如下所示:
我的问题基本上是;是否有另一种方法可以读取数据,以便为我提供三列非整数数据?我想知道是否是因为文件是 BINTABLE ,所以它的读取方式与通常不同?除了我目前所做的之外,还有其他方法可以加载三列吗?如果您需要我澄清一些观点,请询问,因为我目前已经尝试了很多事情,我不确定该采取哪个方向。任何帮助将非常感激!
python - 将列附加到表中,同时保留标题
我正在尝试通过向其附加一些新列来更新 FITS 表扩展。我遵循http://pyfits.readthedocs.org/en/latest/users_guide/users_table.html#merging-tables给出的方法。但是,合并表的标题仅包含识别列所需的最少信息。原始头文件中有我需要的信息。如何将旧表中的所有额外关键字带到新表中?
我已经试过了
并手动为新列添加必要的条目,但这总是会损坏标题并使整个 FITS 文件不可读。
谢谢
python - 从 bz2 打开适合文件
所以我有一个压缩的适合文件,我读起来像这样:
我正在使用 astropy.io.fits 来读取 fit 文件。目前我通过 api 获得我的 .fits.bz2 文件,所以我希望能够像阅读它们一样hdulist = fits.open(fit)
但它只是抛出TypeError: must be encoded string without NULL bytes, not str
。(我已经通过手动解压缩并像上面那样阅读它来检查文件是否完好)。
我想我的问题是一个普遍的问题:如何将打开的文件传递给另一个函数?
python - 在 opencv 中读取 tiff 交换图像的顶部和底部三分之一
我有一个很奇怪的问题。我有几张天文物体的 tif 图像。我正在尝试使用 opencv 的 python 绑定来处理它们。在读取图像文件时,图像的片段似乎被交换或旋转。我已经将它剥离到最低限度,它仍然可以重现:
我已经将一些示例上传到 imgur,以显示效果。图像不是很清晰,这是预处理天文图像的本质,但你可以看到它:
第一组:
第二套:
如果我也使用相同的旋转/交换图像,则会出现相同的图像cv2.imShow(...)
,所以我相信当我阅读文件时会出现这种情况。此外,如果我也保存为 jpg,它仍然存在。在 Photoshop 中打开原件会显示正确的图像。我在 Linux Mint 17.1 上使用 opencv 2.4.10。如果重要的话,原始 tif 是在 Windows 上使用 FITS liberator 创建的。
知道这里发生了什么吗?
fits - 给 astropy.io.fits 中的 BinTableHDU 数据添加标签
所以我一直在将 FITS 表数据整理到 astropy.io.fits 中的 HDUlist 中。我想为列表中的对象提供标签,以便它们易于区分,而不仅仅是:
这种情况持续了很长一段时间——在我的例子中,一个典型的列表包含 54 个 BinTableHDU 文件。
我想知道是否可以添加某种进一步的标签或标识符,以便使用代码的任何人都可以立即清楚地了解每个表中的确切内容?谢谢。
python - 将 ASCII 表转换为 FITS 图像
我是这个领域的初学者。我有一个包含三列的文本文件:X,Y,(X,Y)处的强度。它们基本上是数组(1X10000),每个数组都通过 python 写在文本文件中。要在 python 中绘制数据集,我可以简单地使用 trisurf 来实现这一点。但为了进一步处理,我需要从中创建一个适合的图像。如何从此文本文件中制作 FITS 图像(而不是简单的 FITS 表)(最好通过 python 或 matlab)。
python - 使用python将fits文件中的低信号像素归零
我正在尝试编写一个简单的脚本,该脚本将读取适合的图像文件,将低于某个阈值(我将根据背景统计数据输入)的所有像素设置为零或 nan。我在下面包含了我正在使用的代码。这将写入一个类似于原始文件的新拟合文件,但像素值似乎被重新缩放(即,我希望新文件中的最小值是我指定的最小值,但事实并非如此)。我认为这是我如何将标题写入新文件的问题,但不知道如何修复它,并且欢迎任何做过类似事情的天文学家的建议或片段。谢谢!