黑蛋之前看了 「用Python拉近群眾與星空的距離:Astrohackers in Taiwan社群介紹」 這場2019年台灣Python年會的演講後,便加入講者提到的神祕的宇宙社團「Astrohackers-TW: Python在天文領域的應用」,他想起這社團的成員們會分享、討論與天文相關的Python套件,於是,他進入該社團搜索,看看是否有Python套件能取得和凌日法相關的觀測資料。
黑蛋以「凌日法」當關鍵字搜尋,找到一位社團成員所發表的文章「五個去處 讓你尋覓天文相關Python套件(三):ASCL開放園區」,他看著看著,漸漸被一股神秘的宇宙力量所催眠……他再度夢到i蟒,牠跟黑蛋說:「Lightkurve套件能尋找並下載Kepler太空望遠鏡(Kepler/K2)及凌日系外行星巡天衛星(TESS)的觀測資料,且能將不同時段拍攝的影像資料轉換成光變曲線資料、計算光變週期,以凌日法尋找太陽系外行星。」
再次受到蛇明指示的黑蛋獲得了方向,他先向Google大神解籤光變曲線(light curve),了解到它是指星光的亮度隨時間變化的時間序列圖。接著,他從Lightkurve文件中的兩個教學:「Searching & downloading Kepler, K2, and TESS data」和「Using Light Curve Files with Lightkurve」,得知可以用以下程式碼,在Jupyter Notebook上畫出某個系外行星所屬恆星的光變曲線,呈現該恆星的光因行星遮擋而有週期性變弱的現象。
%matplotlib notebook
import lightkurve as lk
search_result_table = lk.search_lightcurve('系外行星所屬恆星名稱', mission='Kepler、K2或TESS')
lc = search_result_table[i].download() # i為search_result_table某一列的光變曲線資料
lc.plot()
接下來,黑蛋要試著將Lightkurve的功能整合進Streamlit app中。
此系列文由蘇羿豪撰寫,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。此系列文也同步在Matters及Mirror平台連載。