WBPP 使用全解:介面、主校正場與執行流程
本文整理自 2021–2024 年的筆記,部分工具或流程已有更新,閱讀時請留意;文中提到的部分介面、選項與版本行為(例如 2.1.2、2.5 版)皆為當時狀態。至於執行時遇到的錯誤與已知 Bug,另見〈WBPP 疑難排解〉一篇。
WBPP(WeightedBatchPreprocessing)是 PixInsight 裡把「校正、對齊、疊圖」一條龍自動跑完的腳本,方便得驚人。這幾年它改版頻繁,我陸續寫過不少零散筆記;這篇把它們整理成一份比較完整的說明,分成三個層次來談:不太隨版本改變的核心觀念、現行的執行流程、以及歷年版本的一些重要變化。無論你用的是哪一版,先把觀念抓穩,介面怎麼變都不至於慌。
核心觀念一:WBPP 疊出來的成品,只是預覽
這是我最想先講、也最多人忽略的一點。
我自己就踩過坑:某次用 Drizzle Integration 之後,發現星點中心(過飽和處)竟然變黑了。追查下去,原來罪魁禍首是用 WBPP 來疊圖造成的。
WBPP 方便歸方便,但它自動疊出來的那張主亮場,官方的態度非常明確——那只是一張「可達成效果」的方便預覽,用完就該丟棄,不應該拿去當作正式成品。我把官方在討論區的回覆節錄如下:
The integrated image generated by WBPP is just a convenience preview of the achievable image, but it should always be deleted/ignored, and the integration should always be done manually with the registered frames. This is the only way to obtain an optimal integrated image with full control over the normalization, pixel rejection and noise reduction tasks.
官方甚至半開玩笑地說要把這句話重複「n+1 次,其中 n 已經趨近無限大」:WBPP 產生的那張主亮場不該用於正式用途,它只是預覽,最佳結果得靠手動的 Image Integration 去最佳化像素排異與訊噪比才能得到。
所以我的習慣是:WBPP 最遠只用到「對齊星點」這一步,真正的疊合交還給 Image Integration 手動處理。 正規的分程序作法——校正(交給 WBPP)、對齊(Star Alignment)、疊圖(Image Integration)——雖然多幾個步驟,但一旦出問題,比較容易弄清楚是哪個環節壞掉的。這也是我後來的定見,早期日本同好那兩支很詳細的 WBPP 教學影片我也很推薦,但同樣要補上這句提醒:疊圖結果作為參考就好。
核心觀念二:分清楚 Master 資料夾裡哪些才是成品
完整跑完 WBPP 後,預設的 Master 資料夾底下會躺著一堆檔案,很多朋友分不清哪張才是自己要的。這裡說明一下:

- 紅框中的影像,才是你要的疊合完成主亮場。
- 黃框中的影像,是 Local Normalization 的參考(Ref)影像,不是主亮場,別搞混。
- 沒有框的影像,則是主校正場,這裡包含了主平場、主偏壓(bias)與主暗場。
(不過承上一節,這張「主亮場」仍屬 WBPP 的預覽性質,講究的話還是要自己重疊一次。)
現行執行流程:彩色相機的大全套
WBPP 一鍵到底,實際上背後是一長串按順序執行的自動化程序。以彩色(OSC)相機為例,完整的執行順序如下:

- Calibration File Integration:製作主校正場
- Calibration:校正亮場
- Cosmetic Correction:去除熱噪點或壞線
- Debayer:解拜耳(分離 RGB)
- Measurements:測量亮場,給予權重
- Reference frame selection:選定對齊的參考影像
- Plate solving reference frames:對參考影像解星(天測)
- Registration:對齊星點
- LN reference generation:產生 Local Normalization 的參考影像
- Local Normalization:執行 Local Normalization
- Integration:疊合亮場
- RGB Combination:重新組合 RGB 三通道
如果用比較精簡的講法,也可以濃縮成八個步驟:製作校正影像檔 → 影像校正 → Cosmetic Correction → 解拜耳(RGB 三通道分離)→ 星點對齊 → Local Normalization → 影像疊合 → RGB 三通道合併。

這裡有兩個步驟值得多說幾句:RGB 分離是為了克服色散(星點邊緣看起來兩邊顏色不同),代價是要多花時間跑;Drizzle Integration 若有用到,它在這裡的目的不是把影像放大,而是避免偽影,因此要在有足夠 dither 的張數下才有意義,一般低於 50 張其實可以不做。附帶一提實際的時間感受:我曾用 360 張九百萬畫素的影像,從校正一路做到 Drizzle Integration 1x,也花了一個多小時;畫素更高只會更「刺激」。

主校正場:WBPP 的聰明之處
WBPP 在校正場(flat、dark、bias 等)的處理上藏了不少貼心設計,值得專門一節來講。
校正場最好在 WBPP 裡從原始檔重做。 有不少人校正後發現亮場出問題,主因往往是套用了「其他軟體或程序製作的 Master 檔案」(Master flat/bias/dark)。最保險的做法,是把校正檔案的原始檔丟進 WBPP,讓它重新製作 Master。
曝光時間有微小誤差?交給 Exposure tolerance。 曾有同好在群組問到,他用 Eqmod 訊號控制拍暗場,因為延遲問題,5 秒的暗場實際可能落在 4.980–5.02 秒之間,想改用 NINA 拍攝。其實 WBPP 早想好了:一定時間差內的校正場可以被指定為同一群組,WBPP 會對同群組的校正場自動做該做的處理,並自動配對亮場。這個容忍值就是 Exposure tolerance。

不同日子拍的影像,用 Grouping Keywords 一次搞定。 改版後 WBPP 多了分組功能,即使是不同日期拍的影像,也可以一次丟進去一起處理——只要在 Grouping Keywords 用關鍵字(例如日期)分類。像我那組檔案,每天的平場都不一樣,WBPP 仍能自動依日期分別校正,不必手動替不同日期的亮場與平場各做一次設定,非常方便。

只想做主校正場?不放亮場也行。 這是個很多人不知道的用法:在沒有亮場的情況下,把暗場、偏壓、平場、平暗場丟進 WBPP,它會聰明地依正確步驟把這些校正場做成主校正場,並輸出到指定資料夾,省下用各種不同程序手工製作的麻煩。

Light 頁面選項與加速技巧
WBPP 的 Light 頁面有一排選項,使用者可依需求勾選。預設情況下,除了 subframe weighting 之外都是未勾選的。

既然這些步驟可以取捨,就帶出一個實用的問題:把不需要的處理關掉,能省多少時間? 我拿一組國外開放下載的資料實測,總共 372 張一千六百萬畫素影像,剔除掉不需要的處理後,時間快了大約 7 到 8 倍(25 分 03 秒 vs. 03 分 30 秒),而影像品質只有些微減損——本機上大約差 15%,透過網路壓縮後幾乎看不出來。對於趕進度或先看個大概的場合,這個取捨很划算。

至於哪些步驟最吃時間、關掉哪些最有效,我在〈WBPP 疑難排解〉一篇會再談。
版本變化:這些是後來才有的
WBPP 這些年加了不少東西,把幾個重要的節點整理一下,方便對照你手上的版本:
2.1.2 版的幾件事。 這一版起,值得注意三點:其一,校正後亮場出問題常是因為混用了外部製作的 Master 檔(見前述);其二,Dark frame optimization 主要用在亮場與暗場長度不匹配時(例如 20 分鐘亮場配 30 分鐘暗場),最佳前提是長曝光且有多張影像,選項要點擊亮場檔案才看得到;其三,用 CCD 的人隨著使用會逐漸出現 defect,尤其是 column defect,過去得做 defect map 去除、非常耗時,WBPP 提供了 Linear Pattern Subtraction 來協助處理。

Execution Monitor(執行監視視窗)。 更新到較新版後,WBPP 執行時會跳出一個 WBPP Execution Monitor 視窗,告訴你目前跑到哪一步、做了哪些工作,內容還能上下捲動拖拉。在舊版,使用者除了盯著當前 console 之外,根本無從得知進度,只能等全部跑完、或遇到錯誤停下來,才有辦法用 console 確認。

Cache 快取功能(2.5 版以後)。 這是很關鍵的一項改進。跑完大全套後若發現有錯或不如預期,改了某些設定,難道又要整套重跑?不必。WBPP 的快取會判斷:只要修改的設定不影響影像,就直接沿用上次的快取結果;只有真正會影響到的那部分影像才會重新處理,第二次執行的時間因此大幅縮短。

log 資料夾裡的可重現腳本。 最新版 WBPP 執行後,會在 log 資料夾保留詳細 log 與執行腳本。用 PI 的 Script Editor 讀取腳本、編譯並執行後,會跳出一個 Process Container,裡面包含 WBPP 主視窗 Pipeline 子選單的所有程序 ICON,每一個都能在 PI 中單獨開啟。這對 Debug 極為方便——例如想查為何 Cosmetic Correction 沒正確執行或沒效果,就能從這裡打開那一步,檢查是參數問題還是程式臭蟲。另一種用途是:對預處理不熟的人,可以靠這個方法讀出 WBPP 的每一步程序與參數,當作自己手動執行的參考範本。

打開 WBPP 的第一步,其實不是載入檔案
最後回到最基本、卻最容易做錯的地方。打開 WBPP 後的第一步,並不是急著「載入亮、暗、平、偏檔案」。
WBPP 是少數會保留上次使用內容的腳本。如果你之前用過,所有設定都還留著。所以第一步應該是清除檔案列表;至於其他參數要不要一起清,看需求而定。
而第二步很容易被漏掉,很多教學影片也沒提到——按下 Purge Cache。前面說過快取(2.5 版以後)的好處:只改部分參數時,WBPP 只跑改動的地方,其餘沿用快取。但反過來,當你已經跑過、又不需要這些快取內容時,就要把它們全部清除,否則執行新檔案時可能因為快取內容重複,出現無法預期的錯誤。

Windows 使用者的環境前置設定
如果你在 Windows 下跑 WBPP,有兩個環境設定最好一開始就處理好,能省去後面一堆莫名其妙的錯誤(相關的錯誤訊息與診斷,詳見〈WBPP 疑難排解〉):
開啟長路徑支援。 某次更新後,Windows 上的 WBPP 常跳出長路徑警告,說無法產生超過 256 字元的路徑。我就曾因路徑過長,導致 WBPP 產出的檔案有缺損(因為存不了檔)。解法是在工作列搜尋 regedit 打開登錄編輯程式,找到對應位置把 LongPathsEnabled 的數值改成 1,重啟 PixInsight 後就不會再出現這個警告。

避免中文(非西歐語系)路徑。 這也是我不建議用中文當檔案路徑的原因。在 Windows 下,若預設開啟程式是 PI,雙擊含中文路徑的檔案就會跳出錯誤訊息,其中那些亂碼就是中文文字。變通方式是:不改路徑的前提下,直接把檔案用拖拉的方式拖進 PI,就能打開。

把上面這些拼起來,WBPP 的全貌大致就清楚了:它是一個強大的自動化前處理引擎,但你要記得它的疊圖成品只是預覽、要懂得如何分組校正、如何善用快取、以及開工前該清什麼、該設定什麼環境。觀念對了,剩下的就是熟練度的問題。