Python:顺序按亮度匹配文件像素,忽略人工制品

Python:顺序按亮度匹配文件像素,忽略人工制品,python,astronomy,fits,Python,Astronomy,Fits,我有4000张来自斯皮策的fits文件图像,每一张都包含一段时间内的同一颗恒星。每个图像是一个32像素*32像素*64后续时间帧的测光立方体。我需要查看所有的单帧并按亮度排序像素。使用Python并不难,但有时我会在画面中出现比星星最亮的像素还要亮的短期事件/人工制品(见下文)。这些人工制品只能持续一到两个时间范围 我怎样才能轻松地更正这些人工制品?是否有astropy/pyfits软件包可以这样做?还是SPITZER中的某种坏像素标记(我知道开普勒图像有坏像素标记) 可选:将代码矢量化会很方便

我有4000张来自斯皮策的fits文件图像,每一张都包含一段时间内的同一颗恒星。每个图像是一个32像素*32像素*64后续时间帧的测光立方体。我需要查看所有的单帧并按亮度排序像素。使用Python并不难,但有时我会在画面中出现比星星最亮的像素还要亮的短期事件/人工制品(见下文)。这些人工制品只能持续一到两个时间范围

我怎样才能轻松地更正这些人工制品?是否有astropy/pyfits软件包可以这样做?还是SPITZER中的某种坏像素标记(我知道开普勒图像有坏像素标记)

可选:将代码矢量化会很方便,避免循环,从而节省计算时间


比较两帧,在左边一帧,一切都很好,在右边一帧,你可以在右上角看到这件艺术品,比任何一个星星像素都亮。注:人工制品未达到饱和水平。

根据“只需谷歌搜索”的建议,我发现了一个天文功能——DAOStarFinder——它可以满足我的需求。它扫描图像中的光源,可以设置检测阈值,例如,对象的“圆度”、“锐度”或亮度必须分别在[-0.05,0.05]、[0.6,0.8]或>5*标准偏差之间。我必须说,我的印象是,圆度和锐度度量值并不一致,有时同一对象的值从一帧到另一帧变化很大。但是DAOStarFinder也给了你一个物体通量密度的粗略估计,我可以用它来分类辐射源并过滤掉相关的辐射源。这里有一个到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)

你所说的“对工件正确”是什么意思?他们是如何代表的?它们只是阵列中的
inf
s吗?@iGuanaaut-我添加了一个包含伪品的框架。它们不是“inf”,它们的值低于饱和极限。我所说的“校正伪影”是指python代码,这将导致搜索最亮像素的函数忽略此伪影,而有效地将星星定位为最亮像素/源。