难以将 FITS 文件图像中心移动到特定坐标?

问题描述 投票:0回答:1

我的任务是对齐 200 多张太阳图像。

我使用一张图像中的太阳圆盘位置制作了一个圆形模板。该模板有一个中心 (x,y) 坐标和一个半径。

从那里,我使用阈值 1e4(太阳圆盘上的像素值,而不是周围的 1e3)找到了下一个图像的中心。该过程的代码在这里:

# Get the indices of pixels that are above threshold
y_indices, x_indices = np.where(data >= 1e4)

# Calculate the centroid
centroid_y = np.mean(y_indices)
centroid_x = np.mean(x_indices)

其中

data
是我的 FITS 文件中的数据。

我想通过获取质心坐标并移动图像,使它们与模板圆的坐标对齐,将 FITS 图像与模板图像对齐。作为参考,这是一个显示质心(红色)和模板中心坐标(蓝色)的图像:

Image of the sun with two points: Red is the centroid, while blue is where I would like to align the centroid to.

我不介意图像裁剪 - 如果有的话,我稍后会裁剪图像。我正在考虑使用

pillow
,但我不想将我的文件转换为 PNG,因为我稍后将对它们进行分析并需要 FITS 文件格式。
OpenCV
似乎也不适合我 - 我是编码新手,所以无法找到我需要的东西。

提前致谢。

python image-processing astronomy fits
1个回答
1
投票

我不太确定您是否需要一个可以读取和写入 FITS 格式图像的库,或者如何计算质心,或者重新居中图像或如何裁剪。

我只是指出ImageMagick可以读取和写入适合的图像。如果你运行你可以看到这个:

magick identify -list format | grep -i FITS

我从未使用过 FITS 图像,因此我建议您尝试这个简单的命令将图像裁剪为两半,并在投入太多精力之前查看输出文件是否包含您需要的所有内容:

magick INPUT.FITS -crop 50%x RESULT.FITS

如果这符合您的预期,您可以使用 wand,它是 ImageMagick 的 Python 绑定,并且允许您执行您想要的所有处理。


我相信

libvips
也可以读写适合的图像,虽然我没有尝试过。


请注意,如果

wand
vips
可以读写 FITS 图像,让您满意,则两者都可以轻松地与 Numpy 数组相互转换,因此您可以使用其中任何一个进行读/写,但可以使用 Numpy 或 OpenCV 进行处理无论如何,默认情况下使用 Numpy 像素数组。

© www.soinside.com 2019 - 2024. All rights reserved.