gpt4 book ai didi

Python:按亮度排序适合文件像素,忽略伪影

转载 作者:行者123 更新时间:2023-12-01 09:19:36 29 4
gpt4 key购买 nike

我有 4000 个来自 SPITZER 的拟合文件图像,每个图像都包含一段时间内的相同恒星。每个图像都是 32 像素 * 32 像素 * 64 个连续时间帧的测光立方体。我需要查看所有单帧并按亮度对像素进行排序。使用Python并不难,但有时我在帧中出现短暂的事件/人工制品,它们比恒星最亮的像素更亮(见下文)。这些文物只能持续一到两个随后的时间范围

如何轻松纠正伪影?有没有 astropy/pyfits 包可以做到这一点?或者 SPITZER 中的某种坏像素标记(我知道开普勒图像有坏像素标记)?

可选:将代码采用矢量化形式会很方便,避免循环,这样我可以节省计算时间

<小时/>

比较两帧,在左边的一帧中一切都很好,在右边的一帧中,您可以在右上角看到该人工制品之一,比任何星形像素都亮。注意:制品未达到饱和水平。 enter image description here

最佳答案

按照“只需谷歌搜索”的建议,我找到了一个天文函数 - DAOStarFinder - 可以满足我的需求。它扫描图像中的光源,并且可以设置检测阈值,例如对象的“圆度”、“锐度”或亮度必须分别在 [-0.05,0.05]、[0.6,0.8] 或 >5*standard_deviation 之间。我必须说,我的印象是圆度和锐度测量并不一致,有时同一物体的值从一帧到另一帧变化很大。但 DAOStarFinder 还可以为您提供物体通量密度的粗略估计,我可以用它来对源进行排序并过滤掉相关源。这是example script的链接并发送至documentation DAOStarFinder 的。这里是明确的示例脚本:

>>> from astropy.stats import sigma_clipped_stats
>>> from photutils import datasets
>>> from photutils import DAOStarFinder

>>> hdu = datasets.load_star_image()
>>> data = hdu.data[0:400, 0:400]
>>> mean, median, std = sigma_clipped_stats(data, sigma=3.0, iters=5)
>>> daofind = DAOStarFinder(fwhm=3.0, threshold=5.*std)
>>> sources = daofind(data - median)

>>> print(sources)

关于Python:按亮度排序适合文件像素,忽略伪影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50912166/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com