「マルチインスタンス+マスク」を極める(1)
Bruce Williamsさんのカラーキャリブレーション・モジュールの説明を見ていたので、マネをしたのですが、上手くいきませんでした。その詳細は、追って話したいと思いますが、Bruce Williamsさんが何をしたかという点をまず話します。
カラーキャリブレーションは、daylight とBlack bodyのモデルをもっています。
写真1や写真2では、赤枠で囲った部分とその外側で、明らかに光源の色が違います。この場合には、カラーキャリブレーションのインスタンスを2つ作り、マスクで、ひとつは、赤枠の中を、もう一つは赤枠の外を処理します。つまり、インスタンス毎に、別々の光源を担当させることで、1枚の画像に2種類のホワイトバランスを入れることができます。
これは、ホワイトバランスですが、darktableでは、フィルミックRGB、トーンイコライザー、LUT3D、など非常に多くのモジュールで、マルチインスタンスとマスクが使えます。
これは、写真1と写真2を例に説明すれば、赤枠の中と外で、フィルムのISOを変える、カラーフィルムの種類(プロビア、ベルビアなど)を変えることができることを意味します。
今回の記事の題名「マルチインスタンス+マスク」はこのことをいっています。
通常のマスクは、フィルム時代にレンズの前につけたフィルターのように、部分的に色を変えることに使いますが、トーンカーブに相当するフィルミックRGB、露光に相当するトーンイコライザーが「マルチインスタンス+マスク」で使えれば、表現力が増します。
これは、アイデアの段階なので、実際に試してみないとなんともいえません。
今回は、その入り口です。
いきなり、複雑な例題にチャレンジしてつまずくと、エラーの原因がわからなくなりますので、今回は、一番簡単な例です。
マスクの使い方は、カラーライズを使って、確かめることが効果的なので、今回も、カラーライズを使います。
写真3は、カラーライズで描画マスクを使ったところです。「マルチインスタンス+マスク」の場合、もう一つインスタンスを作って、そちらには、反転マスクを担当させればよい訳です。
ここで、反転マスクの作り方ですが、写真3の描画マスクを参照して、反転マスクをつくる方法と、写真3の描画マスクから作られたラスターマスクを参照して、反転マスクをつくる方法の2種類があります。
写真4は、カラーライズのインスタンスを追加して、ラスターマスクを参照して、反転マスクをつくっています。
写真5は、カラーライズのインスタンスを追加して、描画マスクを参照して、反転マスクをつくっています。
この例では、この2種類の方法のどちらも可能です。
今夏の最後のテーマは、追加作成したインスタンスの削除の方法です。
写真6は、インスタンスを追加しています。この右のパネルでは、インスタンスを追加して作ることは簡単です。モジュールのトップバーの右はしから数えて左側に3番目のアイコンをクリックすればインスタンスが追加されます。しかし、右のパネルでは、作成したインスタンスを削除することはできません。
写真7は、左のパネルの履歴です。ここで、アクティブなモジュールをインスタンスを追加する前に戻します。例えば、カラーキャリブレーション1を残して、カラーキャリブレーション2以降を削除する場合には、最初に、カラーキャリブレーション1が現れた履歴をアクティブにします。そして、履歴スタックの圧縮をかけます。
写真8が、圧縮後です。履歴からは、カラーキャリブレーション2以降は消えています。この段階で、右パネルでも、写真9のように、カラーキャリブレーション2以降が消えます。
写真6では、カラーキャリブレーション4が一番大きな数字です。
このあと、再度、カラーキャリブレーションのインスタンスを追加すると、カラーキャリブレーション2ではなく、カラーキャリブレーション5ができます。つまり、カウンターの数字は残っています。実害はありませんが、ちょっと、不自然です。カウンターのリセットの方法がわかれば、報告したいと思います。
「マルチインスタンス+マスク」を極める(2)
前回は、
この例では、この2種類の方法のどちらも可能です。と説明しました。
しかし、細部で、問題があったので、補足しておきます。
写真1は、カラーライズで、描画マスクを作っています。中央の窓の周辺が、描画マスクです。
写真2は、ラスターマスクで、写真1の描画マスクの反転マスクを得ています。
写真3は、描画マスクで写真1の反転マスクを得ています。
写真2と写真3はともに、写真1の描画マスクの反転マスクです。
マスクをチェックするためには、写真3のように、マスク表示アイコンをクリックするとマスクが黄色で表示されます。マスク表示アイコンは、モジュールの右下とモジュールのトップバーになります。モジュールのトップバーのマスク表示アイコンは、darktable3.6から、追加されています。
写真2のラスターマスクでは、モジュールの右下のマスク表示アイコンはありません。また、モジュールのトップバーのマスク表示アイコンは機能しません。つまり、黄色で、マスクのチェックはできません。しかし、カラーライズで見る限りは、写真2のマスクは、正常に機能しています。
ラスターマスクを使う場合には、少し不具合があります。
以下では、反転マスクは、描画マスクを使って得ることにします。
LUT 3D
今回は、LUT 3Dで、「マルチインスタンス+マスク」を試してみます。
写真4は、窓の周辺に描画マスクを作っています。LUT3Dモジュールには、このマスクとfuji filmのセピアを当てはめます。
写真5は、インスタンスを追加したLUT3D1モジュールです。LUT 3D1モジュールには、写真4の描画マスクの反転マスクとfuji filmのvelviaを当てはめます。
写真6は、仕上がりです。このようにLUT3Dで、「マルチインスタンス+マスク」をつかって、部分的に、ことなった、フィルムカラーで現像することができます。
「マルチインスタンス+マスク」を極める(3)
フィルミックRGB
フィルミックRGBで、「マルチインスタンス+マスク」を試してみます。
写真1は、フィルミックRGBで、窓の周辺に描画マスクをかけています。
写真2は、フィルミックRGBで、マスクをつかって、変換曲線を適用しています。
写真3は、新しいインスタンスフィルミックRGB1で、描画マスクの反転マスクを適用しています。
写真4は、新しいインスタンスフィルミックRGB1で、描画マスクの反転マスクに変換曲線を適用しています。
このように、フィルミックRGBでも、マスクを使って、適用範囲を分けることが可能です。
トーンイコライザー
トーンイコライザーで、「マルチインスタンス+マスク」を試してみます。
写真5は、トーンイコライザーで、窓のところに、描画マスクを作っています。
写真6は、写真5で作った、描画マスクに、トーンイコライザーをかけています。
写真7は、新しいインスタンス、トーンイコライザー1を作って、写真5の描画マスクの反転マスクを適用しています。
写真8が、トーンイコライザー1で、トーンイコライザーを反転マスクにかけています。
写真9は、トーンイコライザーとトーンイコライザー1の効果を合成しています。
このように、トーンイコライザーでも、マスクを使って、適用範囲を分けることが可能です。
トーンイコライザーは、階層化された露光モジュールです。
つまり、トーンイコライザーを使うと、ゾーン単位で、露光を調整することができます。
まとめ
トーンイコライザーに、「マルチインスタンス+マスク」を併用すると、ゾーン単位かつエリア単位で、露光を変更することができます。
これは、もはや、「覆い焼き」や「焼き込み」を越えています。
フィルミックRGBは、変換曲線をつかうことで、ベースカーブや、トーンカーブよりもダイナミックレンジをはるかに、高い自由度で、変更できます。
この2つに、「マルチインスタンス+マスク」を使えば、ダイナミックレンジを非常に高い自由度で変換できるはずです。
次回は、この問題を取り上げます。
「マルチインスタンス+マスク」を極める(4)
トーンイコライザーの「マルチインスタンス+マスク」を、整理しておきます。
写真1は、フィルミックRGBのダイナミックレンジマッピングの図です。
もとのダイナミックレンジは+3.6-(ー9.4)=13EVあります。これを、Jpegであれば、8EVに圧縮します。ダイナミックレンジマッピングはその対応を示した図で、フィルミックRGBではS字型の変換曲線の形で、この対応関係を整理します。
トーンイコライザーに、「マルチインスタンス+マスク」を導入した場合、トーンイコライザーのインスタンスには、マスク1と写真1のダイナミックレンジマッピングを、トーンイコライザイー1のインスタンスには、マスク1の反転マスクと別のダイナミックレンジマッピングを適用することは可能です。
写真1では、プリセットのフィルミックRGBの曲線を使っています。
写真2は、フィルミックRGBの曲線を変化させたときのダイナミックレンジマッピングです。
ダイナミックレンジマッピング、つまり、フィルミックRGBの曲線は、露光の影響をうけません。
写真3は、写真2に比べ、露光を下げています。そのことは、写真2と写真3のヒストグラムを比較すればわかります。
ついでに、フィルミックRGBの効果を確認しておきます。
写真4は、シーン参照ワークフローで自動現像した写真です。これは、明らかに、露光不足です。
写真5では、露光のスライダーを右に振っています。画像の露光不足は改善されていますが、ヒストグラムをみると、右が切れています。つまり、Jpegで白飛びを起こしています。
写真6は、フィルミックRGBで、ダイナミックレンジを変更しています。そのあとで、露光を調整しています。ヒストグラムは、右も、左も、切れていませんので、白飛びも、黒飛びもありません。画像をみれば、露光不足ではありません。
写真7は、今回のテスト画像です。
写真8は、トーンイコライザーで、太陽の周辺を除いたパラメトリックマスクを作っています。
写真9は、トーンイコライザーのマスクを表示しています。
写真10は、トーンイコライザーの露光マスクを表示(display exposure mask)しています。
写真11は、トーンイコライザーで、ゾーンごとの露光を調整しています。
写真12は、新しいインスタンスのトーンイコライザー1をつくって、トーンイコライザーのマスクをラスターマスクで参照して、反転マスクをして、ゾーンごとの露光を調整しています。
描画マスクは、新しいインスタンスから、描画マスクとしても、ラスターマスクとしても参照できます。
一方、パラメトリックマスクは、ラスターマスクとしてしか、参照できません。
このため、写真12では、トーンイコライザイーのマスクを、ラスターマスクとして、参照して、反転させています。また、ラスラーマスクとして、参照した場合には、黄色で、マスクのチェックができません。
写真13は、太陽の部分が、ピンク色になったのを、補正しています。
写真14は、最終画像です。
「マルチインスタンス+マスク」を極める(5)
カラーキャリブレーション
今回は、連載のスタートで述べたカラーキャリブレーションを扱います。
写真1は、カラーキャリブレーションで、窓の周りに描画マスクを作成しています。
CATは、日光daylightです。
写真2は、作成したマスクを確認しています。
写真3は、新しいインスタンスのカラーキャリブレーション1をつくってCATの設定をしています。描画マスクを使って、カラーキャリブレーションのマスクの反転マスクを適用しています。
光源に、蛍光灯fluorescentを選ぶと、写真3のように、蛍光灯の種類がプリセットされていて、選ぶことができます。
写真4では、蛍光灯fluorescentをえらんだのですが、CCTがinvalidのエラーになりましたので、蛍光灯をcustomに変更します。
なお、写真2と写真3では、double CAT appliedのエラーが表示されています。
カラーキャリブレーションとカラーキャリブレーション1が同じマスクを使っていれば、このエラー表示は理解できますが、カラーキャリブレーション1では、反転マスクを使っているので、2重定義にはならないはずです。このエラーには今のところ対応できていませんが、カラーキャリブレーションの機能自体は、正常に作動しているようなので、今回は、このエラーは無視しています。なお、検索するとカラーキャリブレーションの古いバージョンでは、double CAT appliedにバグがあるという報告があります。
写真5は、カラーキャリブレーションとカラーキャリブレーション1で別々の光源を適用した場合です。ヒストグラムを見ると、右が切れています。
写真6は、ヒストグラムの右が切れないように露光を調整しています。しかし、画像をみると、これでは、明らかに露光不足です。
そこで、カラーキャリブレーションと同じマスクをつかって、トーンイコライザーで露光を調整します。
カラーキャリブレーション1と同じマスクをつかって、トーンイコライザー1で露光を調整します。
写真7は、トーンイコライザーの露光マスクを表示(display exposure mask)です。
写真8は、トーンイコライザー1の露光マスクを表示(display exposure mask)です。
2つは、正常に作動しています。
写真9が、最終画像です。トーンイコライザーとトーンイコライザー1を設定した後で、カラーキャリブレーションとカラーキャリブレーション1に戻って、再度調整しています。
ヒストグラムの右端は、少し切れていますが、おおむね範囲内にあります。
画像の色も、2種類の光源を反映しているように思われます。
まとめ
「マルチインスタンス+マスク」では、必要に応じて同じマスクで、トーンイコライザーで露光を調整するとうまくいくことがあります。