?

光變曲線自動抽取程序

2023-02-02 04:02江林巧
天文研究與技術 2023年1期
關鍵詞:光變測光興隆

鄭 捷,江林巧

(1. 中國科學院國家天文臺,北京 100101;2. 樂山師范學院數理學院,四川 樂山 614000)

隨著天文觀測技術的發展,時域天文觀測研究已經成為天體物理學重要的前沿領域,即通過多波段、時域監測來研究宇宙中各類天體的特征和變化,尋找和探索各類新天體、新現象。在時域天文觀測的各類目標中,變星是其中一類重要的觀測目標,變星種類繁多[1],觀測研究歷史悠久,對天文學的發展有著強大的推動作用。

興隆觀測站隸屬于中國科學院國家天文臺和中國科學院光學天文重點實驗室,是亞洲規模最大的光學天文觀測基地。興隆觀測站擁有中小口徑光學天文望遠鏡十余臺,比如85 cm望遠鏡、80 cm望遠鏡、60 cm望遠鏡等等。這些望遠鏡每年面向全球天文工作者開放申請,承擔了大量變星的觀測研究工作[2]。

在對變星的測光觀測研究中,對原始數據進行測光處理,獲取多波段、高精度的變星光變曲線是一項基礎且重要的工作。多年來,天文學家開發了相應的測光數據處理軟件包,比如雖然已經停止維護但仍然廣泛使用的IRAF[3]軟件中自帶各種非常成熟的測光軟件包。傳統的測光數據處理方式需要手動對原始數據進行逐步操作,數據處理效率低。近年來雖然各類光變曲線處理程序不斷涌現[4-6],自動化程度、易用性等比以前有較大幅度提高,但由于不同的望遠鏡對觀測數據文件的命名以及頭文件中各類關鍵詞信息等都未統一,導致很多光變曲線處理程序的通用性欠佳,即程序只適用于某一特定望遠鏡產生的數據,當應用于其他望遠鏡時,程序常常需要手動更改參數方可繼續運行,甚至無法運行。興隆觀測站作為亞洲最大的光學天文觀測基地,多臺米級口徑望遠鏡每天都在進行大量變星測光觀測,但至今沒有完全針對興隆站米級口徑望遠鏡的測光數據自動化處理軟件。

鑒于此,本文針對興隆米級口徑望遠鏡研發了一套光變曲線自動抽取程序,只要提供原始觀測數據的保存目錄,程序即可實現數據類型識別、數據預處理、測光、圖像對齊、參考星選取、較差定標等步驟,并自動進行光變曲線繪制。該程序命名為Quick Light-Curve Pipeline,簡稱QLCP。該程序已經發布在國內代碼托管平臺 “碼云(Gitee)”。通過運行程序,觀測者可以在對目標進行測光觀測的同時,快速對原始數據進行測光處理,獲得目標的光變曲線,以便能夠準確合理地制定下一步的觀測計劃,具有一定的科研輔助價值和應用價值。

1 程序整體框架

1.1 支撐軟件和環境

QLCP程序采用Python3語言編寫,在找源和測光部分調用文[7]開發的天文軟件Source-Extractor(以下簡稱SEx)完成。此外,程序需要Python天文軟件包astropy[8]和pystronomy,以及Python通用軟件包numpy, scipy, matplotlib, os, sys和re等的支持。由于SEx僅在Linux或macOS操作系統上工作,程序也受同樣限制。

1.2 程序結構和總體流程

程序總體結構如圖1,分為單圖像處理和多圖像處理兩部分。單圖像處理又分為文件類型識別和列表生成、本底合并、平場合并、圖像改正、找源和測光5個模塊。多圖像處理分為圖像對齊匹配、參考星選擇、較差定標、光變曲線繪制4個模塊。此外,程序還包括1個統一調用模塊和若干支撐模塊。各功能模塊之間主要通過輸入、輸出文件進行耦合??紤]到不同科研課題對數據處理的要求不同,程序的每個模塊均可以使用自定義模塊替代。

1.3 優 勢

程序具備以下優勢:

圖1 程序模塊示意圖。(a)單圖像處理;(b)多圖像處理

(1)自動識別文件。對興隆站望遠鏡的觀測數據,程序只需要給定原始數據目錄,即可自動識別圖像類型,分類進行處理。對于興隆站之外的其他望遠鏡數據,也只需要簡單配置。

(2)圖像自動對齊。通過星像匹配算法,高效率、精準實現連續觀測圖像的對齊工作。

(3)自動選擇參考星。如果用戶未指定參考星,程序能夠自動從識別的源中選擇參考星,通常為圖像中信噪比較高且在觀測期間光度穩定的源。

(4)使用方便。只需要指定原始數據保存路徑、處理結果保存路徑和目標在圖像中的位置,程序即可自動完成光變曲線抽取,也可以進行自定義處理。

(5)模塊化與替代性好。程序各步驟之間通過輸出、輸入文件進行耦合,任一模塊均可以通過自定義操作進行替換,可以局部使用該程序。

(6)自定義性強。程序可以通過配置文件進行參數自定義,無需修改源代碼或編譯即可使用自定義參數對數據進行處理,可以根據不同的科研需求進行調整,方便應用于不同場合。

2 關鍵問題和解決方法

程序的處理步驟均參考常用的天文觀測數據處理方式[9],并考慮程序適用的設備類型做針對性的設計。找源和測光部分調用SEx完成,其他部分均為自行編程實現。其中astropy, numpy和scipy等軟件包提供基礎功能支持,例如讀寫FITS(Flexible Image Transport System)文件、數組計算、統計等。以下對部分關鍵步驟加以說明。

2.1 文件識別

程序識別觀測數據的信息主要依據文件名提供的信息,例如觀測類型(本底、平場、科學目標)、觀測目標、觀測波段和觀測序號等,并自動生成文件列表,供后續使用。由于不同望遠鏡文件名設置不同,因此,程序通過在配置文件中設置正則表達式進行解析。默認配置文件已經針對興隆各望遠鏡進行設置。

如果觀測數據文件名中未體現觀測信息的數據,可以通過人工生成文件列表的方式進行處理。人工生成列表還可以實現對數據的篩選,剔除觀測錯誤的圖像。

2.2 預處理

識別并生成文件列表后,程序進行本底和平場合并,并對數據進行改正。本底和平場合并均采用中值,而平場在合并之前根據每一幅平場的中值進行歸一化。數據在處理之后,會在指定的輸出目錄中分類保存。

由于在許多望遠鏡探測器中并未包括過掃描或者預掃描區域,因此程序并未對此進行處理。此外,目前大部分專業天文望遠鏡使用CCD或者COMS作為探測器,并通過制冷裝置對探測器進行降溫,暗流往往處于很低的水平,不需要特意加以改正,因此程序也未進行暗流校正。最后,由于程序針對多幅測光圖像進行處理,宇宙線、運動物體軌跡等干擾因素帶來的假源在多幅圖像識別中會自動剔除,程序也未對此進行改正。

在預處理時,程序會進行FITS文件頭重建,根據目標信息、觀測時間等,計算JD,HJD以及望遠鏡觀測俯仰角、方位角、月相和月球距離等信息。

2.3 測 光

在圖像中找源和測光的工作,由程序調用成熟的測光軟件SEx完成,需要用戶自行安裝。SEx需要的配置文件,在程序中內置了default.sex文件,可以滿足大部分情況的需要。如對找源、測光等步驟有特殊配置要求的,用戶可以自定義。

SEx輸出字段在程序內置的default.param文件中指定,也可以自定義,但至少要求包括目標的中心坐標、儀器星等和誤差等信息,星像的半高全寬(FWHM)和伸長率(Elongation)等信息為可選輸出。儀器星等默認選用MAG_AUTO字段,也可以自定義。

2.4 圖像對齊匹配

處理連續多幅測光圖像時,程序先自動實現圖像之間的匹配,從而獲取每顆星在不同圖像上的位置。程序在基準圖和待匹配圖中分別選出最亮的若干顆星,計算兩者之間所有星對的x,y坐標距離。由于星像是隨機分布的,坐標距離的眾值必然是兩圖之間的實際位移。得到粗略的x,y位移量之后,以此為基礎進一步目標匹配,得到更加精確的位移量。

基準圖像默認為文件列表的第1幅圖像,也可以指定列表中任意一幅,甚至可以指定非當晚觀測數據作為基準。

2.5 自動選擇參考星

對于大部分被觀測的變星,觀測者往往在其周圍指定若干顆參考星和檢驗星。程序允許用戶手工指定參考星,但是作為一個自動數據處理軟件,程序還可以自動從連續觀測的多幅圖像中找到亮度穩定的亮星作為參考星。具體做法是根據圖像匹配結果,計算每一幅圖像中儀器星等和基準圖像的儀器星等的差值,選擇其中信噪比較高的星,并剔除異常點之后計算均值,作為該幅圖像和基準圖像之間的零點差。隨后將圖像儀器星等改正到基準圖像的同一水平。最后計算這些高信噪比星改正后星等在各圖之間的標準差,選擇標準差最小的星作為參考星。

自動選擇參考星能夠大幅度提高數據處理效率,但是也存在缺陷。參考星的選擇只根據當晚的觀測數據得出,有可能誤選長周期變星,但是這對于生成當天的光變曲線沒有影響。

3 程序使用和性能

3.1 程序發布

程序已經發布在國內代碼托管平臺 “碼云(Gitee)”上,地址為https://gitee.com/drjiezheng/qlcp/,其中包括程序代碼、使用說明等。

3.2 使用方式示例

程序下載后可以放在當前目錄下使用。本文以興隆站60 cm望遠鏡在2022年5月14日對食雙星UY UMa的V波段觀測數據進行處理為例,說明處理過程,原始數據保存于目錄/data/raw/20220514_60/,處理結果保存于/data/raw/20220514_60/目錄中,并且通過人工檢查第1幅圖像,確認目標星中心點大約在(995, 1 000),當晚對該目標進行了8.2 h(0.342天)觀測,共獲得484幅V波段數據,此外還有10幅本底和5幅晨昏光平場。

在配置文件中,除數據處理選項外,程序對觀測臺站和觀測設備也進行了定義。根據興隆站60 cm望遠鏡的文件命名規則,觀測文件命名方式為UYUMa_V_001.fit,用下劃線分割目標名稱、波段、觀測序號等信息,因此相應的配置文件包括:

site_lon=117.57722 # 117.34.38 #觀測站的經度

site_lat=40.395833 # +40.23.45 #觀測站的緯度

site_ele=960 #觀測站的高度

filename_temp="(?P[^-_]*)_(?P[a-zA-Z]{0,1})_{0,1}(?P[0-9]{3}).fit"。

如果將程序應用于其他臺站,只需要修改相應臺站信息即可。根據數據文件名命名規則修改filename_temp關鍵字指定的正則表達式,例如對于興隆站85 cm望遠鏡,文件名命名方式為20220514UYUMa-0001V.fit,對應正則表達式為"(?P[0-9]{8})(?P[^-_]*)-(?P[0-9]{4})(?P[a-zA-Z]{0,1}).fit"。

以上述60 cm望遠鏡觀測數據為例,最簡單的調用方式如下:

import qlcp22# 引入程序包qlcp22.do_all(# 該程序的統一調用入口 ini_file="xl60cm.ini", # 指定目標望遠鏡配置文件 raw_dir="/data/raw/20220514_60/",# 指定原始數據目錄 red_dir="/data/red/20220514_60/",# 指定輸出文件目錄 starxy=[(995, 1000)],# 指定目標星的位置)

先引入包,隨后調用do_all函數自動完成全部步驟。函數參數最少為以上4個,分別是配置文件(ini_file)、原始數據文件路徑(raw_dir)、輸出結果路徑(red_dir)和目標星位置(starxy),其余參數采用默認配置。 程序完成從識別文件到最終生成光變曲線的全過程。程序可選的參數還包括對處理步驟的選擇、參考星的指定等,以及對處理步驟的細節進行限制的參數。整個處理過程約5 min,最終結果見下一節介紹。

3.3 輸出結果

程序各個模塊之間通過輸出文件和輸入文件進行耦合,各模塊輸出文件主要是處理的中間結果。主要輸出文件見表1。

3.4 最終輸出數據

圖2和圖3是上述數據進行自動處理的結果,其中圖2標注了目標星(T-0)和自動選擇的參考星(T-1到T-5),圖3為得到的目標光變曲線,以及參考星的光變曲線。由于當天觀測時氣象條件較差,因此得到的光變曲線信噪比不高。從圖中可見,當天的參考星光變標準差在0.005到0.010星等之間。

表1 程序的輸出文件Table 1 Output files of this program

圖2 2022年5月14日利用興隆觀測站60 cm望遠鏡觀測食雙星UY UMa的V波段圖像,圖中標注的T-0為目標星,T-1至T-5為自動選擇的參考星

圖3 從2022年5月14日利用興隆觀測站60 cm望遠鏡觀測食雙星UY UMa的V波段數據中抽取出的光變曲線,其中紅色方塊為目標星光變曲線,星號為參考星光變曲線,編號順序與圖2中所示一致

3.5 存在的問題

程序只是后續綜合程序的基本雛形,針對興隆觀測站米級望遠鏡的變星觀測數據處理進行編制,通過簡單配置也可以適用于其他望遠鏡的變星觀測數據處理。在考慮特定使用場景的情況下,程序的功能有一定的局限性,將在未來版本中加以改進。

首先,程序只考慮各幅觀測圖像之間的平移而不考慮視場旋轉,因此該程序不適用于發生場旋的觀測。此外,程序并未進行天測定標,因為對于目標明確的變星觀測,對星圖中目標的具體赤經和赤緯并沒有特定的要求,天測等問題將另行解決。由于變星研究通常對目標的視星等沒有特別要求,因此該程序也未進行流量定標。實踐中較差定標精度實際上往往高于絕對流量定標。最后,由于程序使用了廣泛應用的測光軟件SEx進行找源和測光,能力和精度受SEx的限制。

4 總 結

本文介紹了從變星連續測光觀測數據中抽取光變曲線的程序QLCP,主要包括程序的結構、簡單使用方法和處理結果等。該程序可以大幅度簡化實測數據的處理,并且具備模塊化、可定制等特點。但是該程序作為一個針對特定使用場景程序,有一定的局限性和不足,將在后續的研發中繼續改善。

致謝:感謝興隆觀測站工作人員的支持。感謝國家天文臺王匯娟、王佳琪、羅常青,云南天文臺戴智斌等人在試用該程序時提出的意見和建議。

猜你喜歡
光變測光興隆
Blazar天體3C 66A光學波段準周期光變分析
興隆山楂管理技術
本月話題機內測光系統
特別的生日禮物
耀變天體3C 454.3 高能光變行為的研究
100元人民幣上的“100”為什么會變顏色?
相機探秘測光指南
Topological Srrucrure of US Flighr Nerwork Based on Complex Nerwork Theory
基于Jurkevich法Cyg X-1光變周期特性研究*
對抗角力與合作跑課時計劃
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合