rawpyの現像関数、postprocessの引数であるhighlight_modeに関して、値の意味を確認していきます。
postprocessに関しての詳細はこちら。
いろいろ実験はしてみたのですが、正直今回のパラメータは最後まで意味がよくわかりませんでした。いろいろ試した結果だけ載せておきます。
highlight mode
ハイライトモード。HighlightModeは、Clip, Ignore, Blend, Reconstruct, ReconstructDefault の5種類存在する。
この指定にはenumがあるようで、
rawpy.HighlightMode.Clip
rawpy.HighlightMode.Ignore
rawpy.HighlightMode.Blend
rawpy.HighlightMode.ReconstructDefault
rawpy.HighlightMode.Reconstruct = bound method HighlightMode.Reconstruct of enum 'HighlightMode'
それぞれが何を意味するのか詳細の説明が見当たりませんでした。
ハイライトをどうにかするとしかわかりません。全く持って詳細分かりません。本家librawのドキュメントを参照してみます。
int highlight;
0-9: Highlight mode (0=clip, 1=unclip, 2=blend, 3+=rebuild).
やはり謎です。文言からすると、ハイライト(最大値)をなにがしかするというモードでしょうか?clipということは最大値にクリッピングする。って意味だろうか?ignore(unclip)だとそれを無視する?ということは値が回り込む?blendとは何をブレンドするんだろう。
やはり謎です。3以降はさらに謎です。実験してみるしかありません。
実験
各モードで現像してみます。シンプルな設定で、自動明るさ補正を掛けたものです。clip, ignore, blendの3種類の現像をした結果のヒストグラムを表示させます。

左から、highlight mode = clip, ignore, blendに設定したヒストグラムです。
ignoreには大きな違いがあります。ignoreにすることで暗い方向にシフトしました。ignoreに関しては自動明るさ補正が全く効いていないようです。閾値設定の1%の画素飽和が起こっていないように見えます。ただ傾向は不明。
clipとblend(左端と右端)も完全一致はしていませんが、傾向が似ていることが分かります。
続いて、自動明るさ補正をOFF(no_auto_bright = True)にした結果が以下

並びは先ほどと同じように、左から、clip, ignore, blendに設定したヒストグラムです。
今回の写真ではREDが一部最大値に飽和していて、highlight mode がclipにおいて、自動明るさ補正のOFF / ONでヒストグラムの形状はそれほど変化しませんでした。また、ignoreはそれこそ自動明るさ補正がONと時とまるで同じに見えます。
今度はblendの傾向が少し違います。自動明るさ補正がONの時はclipと似た傾向を示していましたが、今回はどちらかというとignoreと近い傾向を示しています。
これも近いというだけで、同じではありません。重ねてみると、

このようにハイライト部でblendの方は値が折り返っているように見えます。greenも最大値を取る画素がなくなっているように見えます。
ignoreに関しても、自動明るさ補正が無視されるだけで、通常の明るさ補正は効いています。謎です。
露出補正(exposure shift)を1段下げた(0.5)したうえで、clip設定したヒストグラムと、ignoreのヒストグラムを比べてみます。

左がclipの設定のまま露出補正を1段暗くしたもの、右が露出設定はそのままで、highlight mode = ignoreに設定したもの。
ガンマ2.2が効いているので、線形性は見られませんが、どうもclipされる最大値までの傾向は似ています。ignoreすると明るさが半分になっている。ということでしょうか。
併せて、0:clip, 1:ignore, 2:blend の先の3,4,5,6,7,8まで試しましたが、3~8に関しては無変化でした。微妙にignoreとは違いましたが似た感じでした。
まとめ
正直よくわかりません。ignoreにすると、デフォルトのclipに対して明るさが半分くらいになります。誰か教えてください。
注意点としては、非デフォルトのignoreにすると自動明るさ補正(auto bright)が全然効果なしです。
またblendに設定すると自動明るさ補正OFFでハイライトの折り返しのような現象が出ます。極ハイライトに色被りのような影響が出ています。
今後はこのパラメータいじらないと思います…。
コメント