基于Python的自动测光程序设计与实现
袁慧宇1, 赵娟2, 杨远贵2     
1. 淮北师范大学信息学院, 安徽 淮北 235000;
2. 淮北师范大学, 安徽 淮北 235000
摘要: 本文基于Python设计和实现自动测光程序。首先扫描文件名实现文件分类; 然后进行数据检查、预处理与孔径测光, 并保存测光数据; 最终由观测者指定目标星与比较星, 程序从测光结果中提取相应星等与观测时间等数据, 获得基于较差测光法的光变曲线。为解决数据提取中星图匹配问题, 提出自动追踪移动目标的基于向量特征星图匹配算法, 能自动匹配偏移较大的星图, 并跟踪不断移动的小行星。使用本程序分别处理双星和小行星观测数据, 并与IRAF(Image Reducation and Analysis Facility)测光结果比较, 测光结果最大偏差分别为0.04 mag和0.043 mag, 标准偏差分别为±0.005 mag和±0.007 mag。
关键词: 自动测光    较差测光    星像匹配    小行星跟踪    
Design and Implementation of Automatic Photometry Program Based on Python
Yuan Huiyu1, Zhao Juan2, Yang Yuangui2     
1. College of Information, Huaibei Normal University, Huaibei 235000, China;
2. Huaibei Normal University, Huaibei 235000, China
Abstract: This paper designs an automatic photometry program based on Python. Firstly, it scans the file name to achieve file classification; Then, it preforms data inspection, preprocessing, aperture photometry, and save the photometric results; Finally, after the observer specifying the target star and comparison star, the program extracts the corresponding magnitude and observation time from the photometric results to obtain the light curve based on the differential photometric method. In order to solve the problem of image matching in data extraction, an improved image matching algorithm based on vector features is proposed to automatically track moving objects, which can match the image with large offset and track the moving asteroids. The program is used to reduce the observational data of binary and asteroid respectively. Comparing the photometric results of this program with those of IRAF, the maximum deviations of photometry results are 0.04 and 0.043 mag respectively, and the standard deviations are ±0.005 and ±0.007 mag respectively.
Key words: automatic photometry    differential photometry    image matching    asteroid tracking    

天文观测是获取天体电磁辐射流量的常用方法之一。天体的许多特殊现象如双星掩食、恒星脉动、色球活动和耀发、超新星爆发、伽马射线暴等,都可以从测光中获得数据。随着现代技术的发展,人们普遍使用二维探测器CCD测光,它具有量子效率高、波长响应范围宽等优点。由于绝对定标比较困难,人们常用较差测光研究天体光度的变化,以消除来自热发射和荧光发射的天空背景辐射。近年来,随着地面和空间巡天项目的开展(如国内的GWAC大视场巡天[1]和即将发射的中国空间站光学巡天望远镜[2]等),海量的测光数据需要及时处理。此外,观测中发现一些瞬变源如恒星耀发[3-4]和伽马射线暴[5-6],需要实时进行数据处理。因此开发一套自动测光分析软件十分必要。

IRAF是美国国家天文台开发的天文图像处理和分析软件,广泛用于测光数据处理[7-8]。但该软件使用繁琐,需要较多的人工操作。为提高测光效率,有研究者以IRAF为基础开发了自动测光程序包[9-10],在部分望远镜中得到应用,但未能普及。随着Python语言的兴起,出现了处理天文数据的程序包,使得我们能够基于Python语言,开发一套自动测光程序,可对测光数据分析并提取光变曲线。

1 算法设计

为消除大气湍流等天气的影响,通常采用较差测光法获得目标光变曲线。即以同视场中另一颗亮度不变的恒星为比较星,计算目标星与比较星的亮度差,从而获得准确的光变曲线。本文程序的测光流程分为两部分,对图像中所有恒星测光,根据需要提取目标星亮度。

1.1 自动孔径测光 1.1.1 数据预处理

观测中,CCD噪声、本底以及像元响应不一致等均影响测试结果的可靠性。所以除了目标图像(img) 外,另需拍摄本底(bias)和平场(flat) 图像进行本底消除和平场改正来消除以上影响,处理算法公式为

$ i m g r=\frac{i m g-b i a s}{f l a t-b i a s}. $ (1)

基于该算法,数据预处理流程简述为(1) 合并多张bias图像获得本底文件biasm;(2) flat文件减去biasm文件,获得flatb文件;(3) 合并多张flatb文件,获得平场文件flatm;(4) img文件减biasm文件,再除以flatm文件,获得真实流量数据图像imgr。

1.1.2 孔径测光

对于图像中较小的天体,通常采用孔径测光法确定其亮度。算法包括3步:(1) 背景天光确定和去除;(2) 目标检测;(3) 孔径测光。我们使用文[11]提出的算法SEP(Source Extraction and Photometry) 完成孔径测光。

由于大气存在散射现象,散射光入射CCD,成为数据imgr中的天光背景。SEP将图像分割为矩形块,并计算每个矩形块中所有像素的中值和标准差等。对其中像素点应用中值滤波,删除偏离中值3倍标准差的像素点,重复以上步骤,直到无像素点可删除,最终获得天光数据。然后在imgr中减去这部分天光数据。

SEP使用一种多阈值检测算法解决目标检测问题。首先设置最低提取阈值找出候选点,按提取阈值和峰值划分30个阈值,基于该阈值把图像构造成树形图,然后从树枝开始,向树干进行遍历分析相邻点是否属于相同的目标星,从而确定目标星的位置和形状。

基于已经得到的目标位置,SEP使用二维高斯曲面拟合包括目标星所有像素点的椭圆孔径,将孔径内像素点亮度积分,获得imgr文件中星的亮度、位置和形状等信息,用于下一步的数据提取。

1.2 目标匹配与数据提取

由于望远镜的跟踪误差,不同时刻拍摄的视场会有偏移,使得目标星在图像中不断平移。目前有多种算法用于匹配星图目标星位置,如基于三角形[12-13]、基于径向和环向特征[14]以及基于向量特征[15-16]等算法。我们对现有的算法进行比较,结果表明,基于向量特征的算法效率较高。但星图偏移较大的情况下,存在匹配失败的可能。此外小行星会在星图中不断移动,现有的算法无法自动跟踪小行星。本文提出一种可自动追踪目标的基于向量特征星图匹配算法。

(1) 选择一张星图作为模板图像,首先在图中指定待提取数据的目标星,记录目标星的原始坐标值,然后基于该模板图像生成定位向量特征集合。生成方法如下:将模板图像中心区域星排除已指定的目标星外的其余星按亮度排序,选择前m+1颗星构成定位星集合,以最接近该集合中心的星S0作为定位参考星,计算其余m颗星相对S0的向量,构成定位向量特征集合R={r1, r2, ..., rm}。

(2) 使用R匹配其余星图文件,方法如下:将待匹配图像中的星按亮度排序,并取前n颗待匹配星集合S={s1, s2, ..., sn}。设s1为参考星S′0,根据R计算其余m颗定位星的坐标,从待匹配图像中寻找m颗星是否存在,若某定位星的新坐标在图像外,则假设该星存在,继续匹配其余星。

(3) 如果m颗定位星均存在,说明匹配成功,S′0相对于S0的偏移量即为待匹配星图文件相对于模板图像的偏移量。根据该偏移量得到待匹配文件中目标星的新位置,提取目标星的亮度信息。

(4) 根据目标星的新位置和偏移量,更新目标星的原始坐标值。

(5) 如未能发现全部m颗星,说明匹配不成功,s1并非参考星S′0,尝试假设s2星为参考星,以此类推,如果n颗星均未匹配成功则该文件匹配失败。

相比于传统的基于向量特征的星图匹配算法,本文算法能够自动处理图像偏移太大导致部分比较星偏移出图像的问题。

2 数据实验

天文数据通常使用FITS (Flexible Image Transport System) 格式保存,需要用对应的程序包分析和读取,本文分别以双星MMCom和小行星52Eur为例,使用Python语言中astropy, numpy, sep, pandas和cv2包完成全部数据处理流程。

(1) 观测数据目录通常包括bias * .fits(本底文件)、flat * .fits(平场文件)和obj * .fits(目标文件) 3种,我们对文件名进行扫描,分析和记录完整的文件名,然后自动完成数据预处理工作。图 1 (a)(b)分别为MMCom的原始数据图像和经过预处理后的数据图像。由图 1可见,经过预处理后,图像亮度不均匀现象消失。

图 1 预处理前后的MMCom数据图像 Fig. 1 The image of MMCom before and after preprocessing

(2) 使用SEP对预处理后的图像进行孔径测光,获得目标位置与大小信息如图 2,亮度、位置和孔径等信息存入单独的CSV文件,供后续流程使用。

图 2 全部测光结果 Fig. 2 Photometry results

(3) 取一张星图作为模板图,指定需提取的目标位置。如图 3,其中红色圈是手工指定的两个目标,1号为目标星,2号为比较星。图 3 (b)的52Eur不断在星图中移动。随后程序自动选取目标以外最亮的5颗星用于定位,其中R为参考星,4条黄线是用于星图匹配的向量集合。根据该集合,程序在其余星图中自动匹配和追踪目标并提取数据。

图 3 目标星及向量特征 Fig. 3 Object star and vector features

(4) 为了验证所得数据,我们用IRAF对数据进行测光,并将两种方法所得结果绘制如图 4。从图 4可以看出,两种方法测试的结果基本一致,其中MMCom和52Eur测光结果最大偏差分别为0.04 mag和0.043 mag,标准偏差分别为±0.005 mag和±0.007 mag。

图 4 自动测光与IRAF测光结果比较 Fig. 4 Comparison of photometry results by the program in this paper and by IRAF
3 结论与展望

IRAF虽然功能强大,但使用和安装流程复杂,且二次开发难度较大。本文采用Python编写一套全自动测光程序,适用于Windows, Linux和Mac等操作系统,完成从目录扫描分析文件类型,到提取最终数据全部功能,测试结果与IRAF一致,具有运行效率高、简单易用等特点。我们希望能与国内天文观测者交流,进一步完善程序功能。

目前,淮北师范大学天文研究团队于2015年购置30 cm望远镜,最佳观测星等约为7~10 mag,发现了一些大的耀发[2];2022年又购置50 cm平面波望远镜,处于调试和试运行阶段。我们计划对这两台望远镜(放置地点为国家天文台兴隆基地GWAC组) 进行远程观测改造,将获得海量的测光数据。预研一套自动测光程序,这为测光数据的实时处理提供了可靠的技术保障;同时为地方高校的天文发展提供了数据平台,也为学校相关专业如大数据、光电信息技术专业的发展提供支持。

参考文献
[1] TURPIN D, WU C, HAN X, et al. The mini-GWAC optical follow-up of gravitational wave alerts- results from the O2 campaign and prospects for the upcoming O3 run[J]. Research in Astronomy and Astrophysics, 2020, 20(1): 13. DOI: 10.1088/1674-4527/20/1/13
[2] GONG Y, LIU X, CAO Y, et al. Cosmology from the Chinese Space Station Optical Survey (CSS-OS)[J]. The Astrophysical Journal, 2019, 883(2): 203. DOI: 10.3847/1538-4357/ab391e
[3] XIN L P, LI H L, WANG J, et al. A ΔR~9.5 mag superflare of an ultracool star detected by the SVOM/GWAC system[J]. The Astrophysical Journal, 2021, 909(2): 106. DOI: 10.3847/1538-4357/abdd1b
[4] KUZNETSOV A A, KOLOTKOV D Y. Stellar superflares observed simultaneously with Kepler and XMM-Newton[J]. The Astrophysical Journal, 2021, 912(1): 81. DOI: 10.3847/1538-4357/abf569
[5] COLLABORATION H, ABDALLA H, AHARONIAN F, et al. Revealing x-ray and gamma ray temporal and spectral similarities in the GRB 190829A afterglow[J]. Science, 2021, 372(6546): 1081–1085. DOI: 10.1126/science.abe8560
[6] ACCIARI V A, ANSOLDI S, ANTONELLI L A, et al. MAGIC observations of the nearby short gamma-ray burst GRB 160821B[J]. The Astrophysical Journal, 2021, 908(1): 90. DOI: 10.3847/1538-4357/abd249
[7] 邱光良, 梁继华, 苏云宝, 等. CCD测光孔径参数研究[J]. 云南师范大学学报(自然科学版), 2011, 31(4): 26–29
QIU G L, LIANG J H, SU Y B, et al. Research for aperture in CCD photometry[J]. Journal of Yunnan Normal University (Natural Sciences Edition), 2011, 31(4): 26–29.
[8] 苏云宝, 郭永国, 张雄. 利用IRAF软件进行CCD测光[J]. 云南师范大学学报(自然科学版), 2009, 29(6): 1–4
SU Y B, GUO Y G, ZHANG X. CCD photometry with IRAF[J]. Journal of Yunnan Normal University (Natural Sciences Edition), 2009, 29(6): 1–4.
[9] 张艳, 林众, 郭迪福. IRAF软件中DAOPHOT包的应用[J]. 天文研究与技术, 2011, 8(4): 410–416
ZHANG Y, LIN Z, GUO D F. An application of the DAOPHOT package in the IRAF[J]. Astronomical Research & Technology, 2011, 8(4): 410–416.
[10] 张皓晶, 张雄, 郑永刚, 等. IRAF软件在Blazars天体中的CCD测光自动数据处理研究[J]. 天文研究与技术, 2008, 5(2): 99–105
ZHANG H J, ZHANG X, ZHENG Y G, et al. IRAF automatic data processing for the CCD photometry of blazars[J]. Astronomical Research & Technology, 2008, 5(2): 99–105.
[11] BERTIN E, AMOUTS S. SExtractor: software for source extraction[J]. Astronomy and Astrophysics Supplement Series, 1996, 117(2): 393–404. DOI: 10.1051/aas:1996164
[12] PÁL A, BAKOS G Á. Astrometry in wide-field surveys[J]. Publications of the Astronomical Society of the Pacific, 2006, 118(848): 1474–1483. DOI: 10.1086/508573
[13] GROTH E J. A pattern-matching algorithm for two-dimensional coordinate lists[J]. The Astronomical Journal, 1986, 91(5): 1244–1248.
[14] ZHANG G, WEI X, JIANG J. Full-sky autonomous star identification based on radial and cyclic features of star pattern[J]. Image and Vision Computing, 2008, 26(7): 891–897.
[15] TABUR V. Fast algorithms for matching CCD images to a stellar catalogue[J]. Publications of the Astronomical Society of Australia, 2007, 24(4): 189–198.
[16] VALDES F G, CAMPUSANO L E, VELASQUEZ J D, et al. FOCAS automatic catalog matching algorithms[J]. Publications of the Astronomical Society of the Pacific, 1995, 107(717): 1119–1128.
由中国科学院国家天文台主办。
0

文章信息

袁慧宇, 赵娟, 杨远贵
Yuan Huiyu, Zhao Juan, Yang Yuangui
基于Python的自动测光程序设计与实现
Design and Implementation of Automatic Photometry Program Based on Python
天文研究与技术, 2023, 20(2): 173-178.
Astronomical Research and Technology, 2023, 20(2): 173-178.
收稿日期: 2022-10-28
修订日期: 2022-11-14

工作空间