图像天文测量对齐
项目描述
ASTROALIGN 是一个Python模块,它将尝试对齐两张恒星天文图像,尤其是在没有WCS信息的情况下。
它通过在两张图像中找到相似的3点星群(三角形)并推导出它们之间的仿射变换来实现。
通用的注册例程尝试匹配特征点,使用角点检测例程来制作点对应关系。这些通常对于恒星天文图像失败,因为星星几乎没有稳定的结构,所以通常无法相互区分。星群匹配更加稳健,更接近人类匹配恒星图像的方式。
Astroalign可以匹配不同视场、点扩展函数、视宁度和大气条件的图像。
它可能在扩展对象图像(具有很少的点源或非常拥挤的场)上无法工作,或者需要特别注意。
您可以在 http://quatrope.github.io/astroalign/ 找到具有主要功能的Jupyter笔记本示例。
完整文档: https://astroalign.readthedocs.io/
安装
使用setuptools
$ pip install astroalign
或从本分布使用
$ python setup.py install
性能:可选
此库可选兼容于 bottleneck,在某些情况下可能提供性能改进。使用以下命令将bottleneck作为与astroalign平级的依赖项安装到您的项目中
pip install bottleneck
Astroalign将自动选择此可选依赖项并使用其性能改进的函数来计算变换。
运行测试
python tests/test_align.py
使用示例
>>> import astroalign as aa
>>> aligned_image, footprint = aa.register(source_image, target_image)
在这个示例中,source_image
将通过变换进行插值,使其像素与target_image
的像素一一对应,并存储在aligned_image
中。
如果我们只对知道变换以及两幅图像中控制点的对应关系感兴趣,使用find_transform
将返回一个包含变换的Scikit-Image SimilarityTransform
对象以及源图像中星星与目标图像中对应星星的列表。
>>> transf, (s_list, t_list) = aa.find_transform(source, target)
source
和target
可以分别是一个图像的numpy数组(灰度或彩色),或者是一个包含图像上星星位置(x, y)对的迭代器。
返回的transf
对象是一个包含变换矩阵以及缩放、旋转和平移参数的scikit-image SimilarityTransform
对象。
s_list
和t_list
是源和目标之间(x, y)点对应的numpy数组。transf
应用于s_list
将大致渲染t_list
。
相关软件
还有其他可能提供类似astroalign功能的软件。此列表并不全面,可能还有其他软件。
引用
如果您在科学出版物中使用astroalign,我们希望引用以下论文
Astroalign: A Python module for astronomical image registration.
Beroiz, M., Cabral, J. B., & Sanchez, B.
Astronomy & Computing, Volume 32, July 2020, 100384.
TOROS Dev Team
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
astroalign-2.5.1.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23d6534a563f932500d89bb7ca469195dd085b8aa024d0bed48f93fb3a90b663 |
|
MD5 | 3fc91dfffb81c7d63140e4354195c3d2 |
|
BLAKE2b-256 | 91343fdcdbd4edd05fc3f511f0c810a1ada5150dd6a41e9d16f6b4a69b14287b |