问题标签 [pyfits]
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 - 如何在 fit 文件中保存和添加新的 fit 标头
我有一个 fit 文件,我想在 fit 文件中添加一个新标题。
我实际上添加了一个新的适合标题,但它没有保存它。如何保存和添加新的适合标题?
这里的代码:
预先感谢
python-3.x - 使用 astropy 从旧数据写入新的 FITS 文件
我对 FITS 文件执行了一个非常简单的操作(数据是 numpy 数组格式),但我无法让 astropy 将其保存为新文件或覆盖现有文件。
我正在重新编写一些使用 numpy pyfits 模块来处理天文 FITS 文件的旧代码 - 我想更新它以使用 astropy.io fit 模块。具体来说,我使用的一些数据是 3D 的,而一些是 4D 的。4D 的东西只是一个约定 - 第 4 轴不包含有用的信息(可以在此处找到数据示例:http ://www.mpia.de/THINGS/Data_files/NGC_628_NA_CUBE_THINGS.FITS )。所以我更喜欢删除额外的轴,然后我的其余代码可以继续进行而无需任何特殊要求。
这是我使用的基于 pyfits 的旧代码,效果很好:
那里没有什么复杂的,它只是重塑一个数组并将其保存到一个新文件中。奇妙。现在我想用 astropy fit 模块替换它。如果我做 :
......那么到目前为止,一切都很好。正如 image.shape 所证实的那样,“图像”数组的形状正确。但我终其一生都无法弄清楚如何将其保存到新的(或旧的)FITS 文件中。使用旧语法:
...给出错误消息,“AttributeError:'numpy.ndarray'对象没有属性'lower'。如果相反,根据astropy文档,我只是省略图像和标题并尝试保存到原始文件:
然后我得到一个文件已经存在的错误。如果我提供关键字“overwrite=True”,那么它会抱怨“WinError 32:该进程无法访问该文件,因为它正在被另一个进程使用:NGCC628.fits”。该文件绝对不会在任何其他程序中打开。
如果我指定新的文件名 NGC628_2.fits,那么 Python 会崩溃(将我返回到命令提示符)而没有错误。写入一个非常小的文件,其中仅包含标题数据,不包含任何图像数据。编辑:如果我使用正确的命令使用图像和标题数据编写新的 FITS 文件,则会发生完全相同的事情,例如 pyfits.writeto('NGC628_2.fits',image,header)。
只是为了让事情变得更加混乱,如果我做一个稍微简单的操作,比如说,将所有图像数据设置为一个常量值,然后关闭文件:
然后这工作 - 原始文件现在是一个数组,其中每个值都等于 5。我从 astropy 文档中收集到,只需在更新模式下打开文件并关闭它就足够了,在这种情况下就是这样。但是在重塑图像时,同样的技巧不起作用- FITS 文件没有改变。
那么我到底做错了什么?更新原始文件或保存到新文件都可以(最好是后者),但我无法让任一操作正常工作。
编辑:我有 Python 版本 3.5.3、numpy 版本 1.17.3、astropy 版本 3.2.3,并且我正在运行 Windows 10。
python - 有没有办法在 Python 中对 FITS 文件使用算术运算?
我对 Python 还很陌生,我一直在尝试为 Python 重新创建一个有效的 IDL 程序,但我被卡住了并且不断出错。我还没有找到解决方案。该程序总共需要 4 个 FITS 文件(img 和校正图像 dark、flat1、flat2)。操作如下:
所述文件具有尺寸(1024,1024,1)。我已将它们的大小调整为 (1024,1024) 以便能够使用im_show()
函数。
我也尝试过使用cv2.add()
,但我得到了这个:
类型错误:参数“src1”的预期 Ptr
有什么解决方法吗?提前致谢。
python - Wahoo TICKR X .fit Python 中的文件读取/解析和分析
不知道我是否可以在这里发布这样的问题,所以如果我在错误的地方请重定向我。
我买了一个 Wahoo TICKR X 来监测我运动时的心率。此外,我想更熟悉 python,所以我决定自己在 python 中而不是在 wahoo 应用程序中分析我的心率。我认为这也会在可视化、测试等的选择上给予更多的自由。
我已经记录了 5 分钟左右的心率并导出了 .fit 文件。但是我什至找不到合适的库来读取 .fit 文件。谁能推荐一个使用 .fit 来自 wahoo 的文件的库?
我正在使用 ubuntu、anaconda、python 3.7
文件链接:https ://wetransfer.com/downloads/6d054a5d52899aefcb1bcd22bda92ba120200326161849/b9831a
编辑
我现在已经尝试过了,但出现错误:
python-3.x - 无法在 python 3.7.6 上导入 pyfits
当我尝试导入 pyfits 时,我收到以下消息
有人知道如何解决这个问题吗?我有 Ubuntu 20.04.1 LTS 焦点和 Python 3.7.6。谢谢!