Skip to content
天文學

用 Potato 做天文學標註

在 FITS 裁切圖三聯圖上甄別 ZTF 和 Rubin 候選體的真假,或為星系形態分類,每位團隊成員的標籤分開匯出。

Potato 在瀏覽器中顯示 FITS 影像,標註者可以根據科學影像、參考影像和差分影像的裁切圖以及光變曲線,把 ZTF 和 Rubin 等巡天的暫現源候選體甄別為真實或虛假,也可以用 Galaxy Zoo 式的問題樹為星系形態分類。Potato 免費開源,執行在你自己的伺服器上,並把每位標註者的標籤分開匯出,用於訓練真假甄別分類器。

差分影像是經過定標的科學曝光減去同一天區的參考影像(模板)得到的影像,真實的暫現源在差分影像中表現為一個新出現的點源。在真假甄別中,標註者把每個檢測判為天體物理源,或宇宙線之類的偽跡。ZTF 的 Braai 分類器用 32,640 組已標註的科學、參考和差分影像三聯圖訓練,這些標籤來自 Zwickyverse,一個簡單的基於網頁的開源工具(Duev et al., 2019)。同一篇論文發現,對於早先的隨機森林分類器給出低分的候選體,Zooniverse 志願者標為虛假的標籤中約有 30% 實際上是真實的。被誤標的候選體大多是變星,而志願者沒有看到光變曲線。在一項 Pan-STARRS1 超新星搜尋中,志願者分類與神經網路分類相結合,效果優於任何一方單獨使用(Wright et al., 2017)。Potato 在裁切圖下方顯示光變曲線,並把每個候選體發給你設定人數的標註者。

Potato 中的天文學任務

下表每一行都使用 Potato 2.13 新增的 fits_cutout 顯示類型,並用 radio 和 multiselect 方案提問。

任務Potato 的做法文件
甄別暫現源候選體科學、參考和差分裁切圖並排顯示,R、B、U 三個鍵分別選擇 Real、Bogus 和 Unsure天文學
記錄候選體為何是虛假的一道詢問原因的 multiselect 問題,只在標註者選擇 Bogus 之後顯示天文學
檢視光變曲線候選體的光變曲線顯示在裁切圖下方,上限畫成空心三角形天文學
星系形態分類每個條目一幅影像,樹的每個節點一道 radio 問題,display_logic 寫明通往每個後續問題的路徑天文學
把 Zooniverse 工作流轉到內部執行potato import -f zooniverse 把工作流中的任務轉換為方案,並可保留志願者的分類結果數位人文
甄別標籤的一致性在甄別問題上計算百分比一致率、Cohen's kappa、Fleiss' kappa 和 Krippendorff's alpha標註者間一致性

一項由三名標註者完成的 ZTF 甄別研究

下面的配置讓三名標註者甄別每個 ZTF 候選體,按 ZTF 的列名讀取光變曲線,並詢問每個虛假檢測的原因。天文學頁面給出了條目格式。

yaml
annotation_task_name: "ZTF candidate vetting"
task_dir: .
media_directory: media
output_annotation_dir: annotation_output
data_files: [data/candidates.json]   # each item names three cutouts and a light curve
item_properties: {id_key: id, text_key: summary}
user_config:
  allow_all_users: true
 
num_annotators_per_item: 3
 
instance_display:
  fields:
    - key: candidate
      type: fits_cutout
      label: "Cutouts"
      display_options:
        panels:
          - {key: science, label: Science}
          - {key: reference, label: Reference}
          - {key: difference, label: Difference, stretch: asinh}
        light_curve_columns: {time: jd, band: fid, mag: magpsf, err: sigmapsf, limit: diffmaglim}
        time_label: JD
 
annotation_schemes:
  - annotation_type: radio
    name: vetting
    description: "Is this a real astrophysical transient?"
    humanize_labels: false
    labels:
      - {name: "Real", key_value: "r"}
      - {name: "Bogus", key_value: "b"}
      - {name: "Unsure", key_value: "u"}
    label_requirement: {required: true}
 
  - annotation_type: multiselect
    name: bogus_reason
    description: "What makes the candidate bogus?"
    humanize_labels: false
    labels: ["Subtraction residual (dipole)", "Cosmic ray or hot pixel", "Satellite or asteroid trail", "Bad column or image edge", "Other"]
    display_logic:
      show_when:
        - {schema: vetting, operator: equals, value: "Bogus"}

num_annotators_per_item: 3 把每個候選體發給三名標註者。Potato 的光變曲線讀取器查詢 mag 和 magerr 這類列名,light_curve_columns 把 ZTF 的 magpsf 和 sigmapsf 對映到 mag 和 err 兩個角色。不做對映時,每個帶 diffmaglim 值的行都會被畫成上限。設定 humanize_labels: false 後,螢幕上的“Bogus”與 display_logic 條件中的值一致。

匯入裁切圖與匯出標籤

Potato 在伺服器上用 astropy 讀取 FITS 檔案,astro 可選依賴會安裝 astropy(pip install 'potato-annotation[astro]')。每個條目給出相對於媒體目錄的 FITS 檔案和光變曲線:

  • 裁切圖。 .fits、.fit、.fts 以及 gzip 壓縮的 .fits.gz 檔案。
  • 位置。 條目可以用赤經和赤緯(RA 和 Dec)或 FITS 畫素給出中心,用畫素數或 "40 arcsec" 這樣的角度給出尺寸;沒有位置的條目顯示整幅影像。
  • 光變曲線。 CSV、TSV 或 JSON 檔案,或直接寫在條目中的點列表。

顯示類型從媒體目錄讀取每個檔案,並拒絕 URL。consensus 匯出把每個候選體的最高票答案、得票比例以及 retired 或 needs_review 狀態寫入 consensus_questions.csv:

bash
python -m potato.export -c config.yaml -f consensus -o exports/consensus

使用預設的 agreement_threshold(0.8)和三名標註者時,只有三名標註者意見一致,候選體才會定案(retired),其餘候選體進入 needs_review。標註者把 Bogus 改為 Real 之後,原因問題的答案仍保留在儲存的標註中,匯出和一致性指標都不會把這個答案標為已隱藏。用這些標籤訓練之前,請根據甄別答案篩選 bogus_reason。

與 Zooniverse、SkyPortal 及警報代理的分工

Zooniverse 託管免費的公民科學項目,項目經過稽核後公開上線,適合面向公眾的志願者群體,例如 Galaxy Zoo 和 Zwicky's Quirky Transients。SkyPortal 是一個顯示天文資料集、供標註、分析和發現使用的網頁應用,帶有候選體掃描頁面,用於檢視經過篩選的警報流中的源。Fritz 是 ZTF 的科學資料平臺,基於 SkyPortal 構建,適合巡天合作組的日常掃描和後續觀測。ALeRCE 和 Lasair 等警報代理(alert broker)對完整的警報流進行篩選和分類,Lasair 的 SQL 篩選器可以在即時警報流上執行。當一個私有團隊或一個班級標註一組固定的候選體或星系時,Potato 更合適,因為 Potato 把每個條目分配給設定人數的標註者,在正式條目之前用練習條目培訓標註者,並把每位標註者的標籤分開匯出。一種做法是把從警報代理獲取的候選體裁切圖儲存為 .fits.gz 檔案,在 Potato 中甄別這些候選體,再用已定案的標籤訓練。

藉助程式設計智慧體搭建研究

potato-skill 1.2.0 認得 fits_cutout 這個顯示類型名稱,並指導 Claude Code、Codex 或 Cursor 完成研究設計這一側的工作,例如向標註者問什麼、每個候選體由幾名標註者甄別、培訓和注意力檢查,以及匯出。這個技能目前還沒有記錄 FITS 條目格式、顯示選項和 astro 可選依賴。請讓智慧體參考天文學頁面及其 Markdown 副本 https://www.potatoannotator.com/docs/annotation-types/astronomy.md,以瞭解格式和選項。

常見問題

標註者能否並排檢視一條警報的科學、模板和差分裁切圖?

能。fits_cutout 顯示類型把每個候選體的科學、參考(模板)和差分裁切圖顯示在同一行,三個面板共享縮放和平移,並共用一個十字準線。以 .fits.gz 名稱儲存到磁碟的 ZTF 警報裁切圖無需解壓即可開啟,每個面板可以設定不同的拉伸,例如在差分影像上使用 asinh。

不同觀測之間朝向不一的裁切圖會被旋轉成北朝上嗎?

不會。Potato 按 FITS 檔案儲存的朝向顯示每幅裁切圖,並根據每個面板的 WCS 在面板上畫出北向和東向箭頭。各面板不在同一個畫素網格上時,面板下方會有一條說明指出這一點,十字準線則按天球位置放到每個面板上。

標註者能否從 FITS 影像的 WCS 讀出赤經和赤緯?

能。面板下方的讀數以六十進位制和度兩種形式顯示指標所在位置的赤經和赤緯,並給出原始影像的 FITS 畫素。讀數對 astropy 在伺服器上計算的天球位置網格做插值,因此能跟隨 astropy 能讀取的任何投影,包括 SIP 畸變。

延伸閱讀

參考文獻

  1. Duev et al. (2019). Real-bogus classification for the Zwicky Transient Facility using deep learning. Monthly Notices of the Royal Astronomical Society 489(3). https://doi.org/10.1093/mnras/stz2357
  2. Wright et al. (2017). A transient search using combined human and machine classifications. Monthly Notices of the Royal Astronomical Society 472(2). https://doi.org/10.1093/mnras/stx1812

從這裡開始

其他領域

全部應用場景