線性與拉伸:為什麼你的疊圖檔案一片黑——或一片綠
疊圖完成的天文攝影用一般看圖軟體打開,不是全黑就是全綠。「線性」是什麼意思、為什麼疊圖要存成 32 位元浮點數,以及為什麼拉伸過的預覽不能像疊圖一樣後製。
你把疊好的影像存檔,用「預覽程式」或「照片」打開,結果一片黑——空無一物上有幾個白點。或者你用後製軟體打開,它是一片平坦、刺眼的綠。又或者你用後製軟體打開一張存好的圖,它把它當成完成品,拒絕修正。
這三種情況都來自同一個觀念:線性 資料與 拉伸 資料之間的差別。
線性:光被計數時的原樣
相機感光元件計數的是光子。光多一倍,數字就多一倍。把這些計數疊起來平均,仍保有這個性質——像素值和抵達的光成正比。這就是 線性 資料。
在線性資料中,天空和微弱的星雲都擠在整個範圍最底部的百分之一、二。最亮的星核接近頂端,中間幾乎什麼都沒有。直接顯示的話,線性疊圖就是一片黑加上白色針點。這不是曝光不足:深空目標和恆星相比,就是這麼暗。
拉伸:為眼睛而做
要讓人看得見,影像必須被 拉伸:用一條曲線大幅抬高暗部、壓縮亮部,讓天空從範圍的 1% 升到十分之一,星雲也就看得見了。拉伸之後,數值不再和光成正比。光加倍,像素不再加倍。
大多數後製步驟——去除漸層、色彩平衡、量測雜訊、去星——都假設資料是線性的。在拉伸之後才做,解決的就是一個和天空中不同的問題。
為什麼彩色疊圖是綠的
單眼彩色(OSC)相機的綠色像素是紅色或藍色的兩倍,而且對綠色最敏感,所以原始的彩色疊圖會嚴重偏綠。沒先校正色彩就拉伸,綠色就會和其他東西一起被拉高。為什麼你的疊圖是綠的 有完整說明;簡單來說,這片綠是真的,去除它是一個屬於線性資料階段的校正步驟。
為什麼疊圖要存成 32 位元浮點數
16 位元整數檔案有 65,536 個階層。在線性疊圖中,天空和微弱星雲大約只活在最底下的一千個階層裡——對畫面中你最在意的部分來說,是一把很粗的梯子。疊合許多影格會產生比任何單張影格都更細的階層,而 16 位元整數會把這份精度四捨五入掉。
32 位元浮點數檔案則保留疊圖產生的每一個小數。這就是為什麼疊圖軟體會存成 FITS 或浮點數 TIFF:它是能裝得下疊圖的格式。
它也是一個有用的訊號。完成的作品幾乎都是 8 或 16 位元整數;浮點數檔案幾乎都是疊圖。Akastroid 的 儲存疊圖影像 正是基於這個理由,把疊圖寫成 32 位元浮點數 TIFF(或 FITS),而當一張浮點數影像再次被打開時,它會被當成疊圖處理:去除漸層、校正色彩、拉伸。
拉伸過的預覽不是疊圖
軟體會顯示疊圖拉伸過的 預覽,讓你看得見它。把那張預覽存下來,你存的是一張圖,不是資料:天空已經被抬高,綠色已經固定在裡面,計數也沒了。再次打開時,它無法被「反拉伸」。軟體誠實的做法是把它當成完成的作品——這就是為什麼「修正」一張存下來的預覽,效果永遠比不上重新處理疊圖。
在 1.3.1 版之前(含),Akastroid 的 儲存疊圖影像 寫出的是那張拉伸過的預覽——這是一個錯誤。從 1.3.2 版開始,它寫出的是線性疊圖。用舊版存的檔案是預覽,打開時也會被當成預覽;解決方法是重新處理原始影格。
怎麼判斷你手上的是哪一種
- 在一般看圖軟體中打開是黑底白點: 線性。
- 打開時看得見天空和星雲: 拉伸過。
- FITS,或 32 位元浮點數取樣的 TIFF/XISF: 幾乎可以確定是線性。
- JPEG 或 PNG: 拉伸過,一律如此。
重點整理
- 線性資料和光成正比;它看起來是黑的,而後製就是在它上面進行。
- 拉伸讓它看得見,也結束了它的線性。先校正再拉伸,絕不反過來。
- 疊圖要存成 32 位元浮點數(FITS 或浮點數 TIFF);16 位元會丟掉暗部。
- 存下來的預覽是一張圖,不是疊圖,無法再當成疊圖處理。
閱讀英文原文 · 其他語言 Deutsch · Español · Français · Italiano · 日本語 · Nederlands · Polski · Português (Brasil) · Türkçe