title: darktable 3.0 author: Nilvus slug: darktable-30 date: 2019-12-24 lede: vulture.jpg lede_author: Nicolas Auffray tags: announcement, darktable-release
通例通り,darktable 3.0はクリスマスにリリースされました.2018年中の進化に続き,2019年にはdarktableの操作性と内部の仕組み双方に大きな,想定外の変更が加えられました.結果,darktable 3.0はメジャーリリース以上のものとなっており,バージョン2.6.xから3.0へ移行する価値があると言えます.
この新バージョンのアナウンスとリリースノートは,こちらをどうぞ. https://www.darktable.org/2019/12/darktable-300-released/.
新機能には次のようなものがあります(大量です).
- GUIは完全に再設計され,現代的な,GTK+ CSSルールでカスタマイズ可能なものになりました.Gtk Cのdarktableコードにあったsize,color,fixed positionといったものはもはや不要です.また,テーマもいくつか付属しています.
- ライトテーブルに新しくカリング(えり抜き)モードが追加されました.このモードでは最初に選択した画像から一定数の画像(あるいは事前に選択しておいた画像)が表示され,それぞれパン・ズーム操作が可能です.表示される画像の数は選択可能で,マウスホイールかキーボードで画像間を移動できます.さらに,このモードには,よく要望されていた画像の比較機能が塔載されています.
- 新しくタイムラインビューが追加されました.日付の範囲を指定して画像を表示できます.
- ライトテーブルの大規模な書き直し(ダークルームのフィルムストリップを含む)が行われ,全体のパフォーマンスが大幅に向上しました.ライトテーブルを4K,5Kモニタで使うことも可能です.darktable 3.0はまた,CPUとSSEについて多数のコード最適化もなされています.
- 新しくフィルミック RGBモジュールが追加されました.以前までのフィルミックモジュールと同様,これはベースカーブやシャドウとハイライトといった大域トーンマッピング関連モジュールを置きかえるものです.この新モジュールは以前のものより使いやすく,色かぶりを起こしにくくなっています.旧フィルミックモジュールは非推奨となり,これまでの現像で使われている場合だけ利用できます.
- 新しくトーン イコライザモジュールが追加されました.これはシーン参照型RGB空間(訳注:人間の感覚として得られる色ではなく物理的な光の強さを表す)におけるゾーン システム,シャドウとハイライト,(局所)トーン マッピングモジュールの機能を統合するものです.Ansel Adamsのゾーンシステムを使って覆い焼き・焼き込みを行うことで,局所的に色を調整する安全かつ簡単な手法を提供します.
- 新しくRGB カーブとRGB レベルモジュールが追加されました.RGBチャネルそれぞれを独立して操作するモードと,まとめて操作するモードがあります.
- ノイズ低減 (プロファイル)モジュールが大幅に改良されました.ほとんどの場合で高い効果を発揮するデフォルト設定が塔載されました.そのため,今は彩度・輝度の二つのインスタンスを使用する必要はなく,ほとんどの場合単独のインスタンスで十分です.darktable 2.6以前で現像された画像の場合,モジュール内のチェックボックスで,新アルゴリズムに移行することができます.
- 新しく3D lutモジュールが追加され,3D RGB Lut変換を扱えるようになりました(PNG Hald-CLUTとCubeファイルをサポートします).
- タグ付けモジュールが完全に書き直されました.これまでのものより速く高機能で,新しく階層表示,プライベートタグ,タグのカテゴリ分類,類義語検索などを備えています.
- エクスポートモジュールに,どのメタデータをエクスポートするか選択するオプションがつきました.
- 新しく基本調整モジュールが追加されました.黒レベル,露出,ハイライト圧縮,コントラスト,中間グレイ,輝度,彩度が調整できます.また,Rawtherapeeの自動露光補正を元にした機能も追加されました.これは画像全体にも,選択範囲にも適用可能です.
- 新しくラスターマスクが追加され,一度作ったマスクを,ピクセルパイプライン中の別のモジュールにコピーできるようになりました.
- さらに多くの細かい(でも有用な)機能が追加されています.いくつかはこの記事の最後に触れます.
darktableの他のメジャーリリースと同様,データベースのフォーマットは変更されました.そのため,一度3.0に移行すると,元のバージョンに戻すことはできません. アップデートする前に,必ずデータベース(~/.config/darktable/ ディレクトリ)をバックアップしておくことをお勧めします. なお,darktable 3.0では非常に多くの変更,特にピクセルパイプライン順序の再構築が行なわれたため,バージョン2.6以前のデータベースを自動でバックアップする機能が追加されました.
主要な新機能
CSSでテーマ設定可能な,刷新されたGUI
darktable 3.0では,より現代的でCSSでテーマ設定可能な,新GUIが導入されました.また,4kや5kのモニタでも使うことができるようになりました.この更新に伴い,4つのテーマが入っています.
- darktable: 新GUIに対応させたオリジナルのテーマ(デフォルト)で, OSのデフォルトフォントを利用します.
特に次の3つの新テーマは,デフォルトのテーマを新GUIに対応させたものに加えて,3.0で新しく追加されたものです. これらはelegantと呼ばれ,想定通りの表示にはRobotoフォントのインストールが必要です.
- darktable-elegant-darker: デフォルトテーマと似ていますが,Robotoフォントを使うことで字を詰めています.
- darktable-elegant-dark: 少し明るくしました.
- darktable-elegant-grey: さらに明るくしました.中間グレイに近いです.
美的なことはおくと,画像の色を評価するためには,GUIの色はISO 12646:2008に近い中間グレイが推奨されます(GUIはL = 45,背景は L = 75).実際,視覚の受ける印象は環境の輝度に影響を受け,低い輝度のGUIは次のような錯覚を引き起します.
- 画像の輝度が誇張して感じられる(チェッカーシャドー錯視で見られるとおり).つまり,画像が本来より明るく見える
- 画像の彩度が減少して感じられる(ハント効果).つまり,画像の色が弱く見える
- 画像のコントラストが減少して感じられる(Bartleson-Breneman効果).つまり,画像の色が平板に感じられる
従って,写真を編集するときに暗いGUIを使うことは,編集のやりすぎ(コントラストや彩度のいじりすぎ)や,写真を印刷してみると思ったより暗すぎた,といったことにつながりかねません.グレーのテーマを利用することで,こうした錯覚やその影響による失敗を避けることができます.
この4つのテーマでは,GUIを全体に明るくするためと,色で気が散らないようにするため,ダークルームモジュールのアイコンを表示しなくなりました.しかし要望を出したユーザーもいたので,モジュールのアイコンを追加したものも追加されています.アイコンが必要な場合,iconsテーマを使ってください.
こちらはダークテーマ(アイコンなし)を使った新しいdarkroomです
同じ画面で,モジュールアイコンを追加したものです
新GUIのその他の改善点
ダークルーム
新しいキーボードショートカットが追加されました.さらに使いやすく,また画像の表示を広くとることができます.以下はダークルームの最も重要なショートカットです(最初の4つはdarktableの別画面でも使うことができます).
Shift+Ctrl+t
: トップパネル(画像とバナーの間)を表示/隠すShift+Ctrl+l
: 同様に左パネルを切り替えShift+Ctrl+r
: 同様に右パネルを切り替えShift+Ctrl+b
: 同様に下パネル(画像とバナーの間)を切り替えShift+Ctrl+h
: 同様にヒストグラムを切り替えShift+Ctrl+n
: 同様に左側サムネイルを切り替え
以上のショートカットは,既に存在する次の二つのショートカットの追加として入りました.
Ctrl+f
: 下の画像バナーを表示/隠す(オプションは出さない)Ctrl+h
: 同様にトップバナー(ロゴからライトテーブル等へのリンクまで)を切り替え
以上のショートカットは,英単語の頭文字に対応していることを考えれば覚えやすいでしょう(top, left, right, bottom, histogram, navigation, filmstrip, header).
そして最後に,全てのdarktableで使えるものをひとつ.私も気に入ってるもので,ここまでに紹介したショートカットに慣れた後に一度使います.b
です.この単なる一文字の入力で,矢印のついた枠とはおさらばです.そしてdarktableはさらに軽くなります!
以下のスクリーンショットをごらんください.使ったショートカットはb
, Shift+Ctrl+l
, Shift+Ctrl+t
,Shift+Ctrl+b
(あとの3つについてちょっと.まずShift+Ctrl
を押したままにして,それからl
, t
,b
を押してください),Ctrl+f
(下の画像バナーを隠す)です.隠した部分をもう一度出すには,同じショートカットをまた押すだけです.
こうしたショートカットを使えば,ダークルームの(またはそれ以外のdarktable画面でも)好きな部分だけを表示することができます(サムネイル,左右のパネル,ヒストグラムをオンにしたりオフにしたり……).いろいろ試して,実際の利用スタイルに合う使い方や,いつそれぞれの部分を出したり隠したりしたらよいか探してみてください.実際単純で効率的です.
モジュール検索欄
上に出てきたスクリーンショットで,モジュールタブとモジュールリストの間に,新しくモジュール検索欄があるのがおわかりかと思います.これは単純に,darktableにある全モジュールから名前で検索するためのものです(小文字で入力してください.大文字小文字は区別されます).
マスクオプションの新インターフェース
合成マスクが使えるモジュールで,マスクのオプションの操作はドロップダウンメニューから変更になり,よりわかりやすくなりました.見てみてください.
左から順に,「現在のマスクを無効にする」,「均一マスク」,「描画マスク」,「パラメトリックマスク」,「描画マスクとパラメトリックマスク」,「ラスターマスク」です(新しく追加されたものについては後述します).
履歴
履歴管理の再設計が完了しました.他のRAW現像ソフトと同様,darktableはRAW画像を表示するためにデフォルトモジュールをいくつか必要とします.これまでは,デフォルトモジュールは表示されていませんでした.透明性を高めるため,現像処理のすべてのステップが表示されるようになりました.これは,今までに存在したモジュールには対応するもののない,ガンマのような行も同様です.こうしたモジュールは必須なので,無効化することはできません.
下のスクリーンショットでわかるとおり,右側に新しくアイコンが追加されました.これはモジュールの状態を表します(最初の3つの状態については,右側のモジュールパネルでも同様に表示されます).
- デフォルトモジュールであり,無効化できないもの 二重丸印 (例: ガンマ)
- 有効になっているモジュール(無効化できるもの) オンになったボタン (例: ホワイトバランス)
- 無効になっているモジュール(有効化できるもの) オフになったボタン と ライトグレーの文字 (例: ベースカーブ)
- 非推奨モジュール(今後使わないほうがよい) バツ印 (例: フィルミック) もし有効になっていれば白文字,無効ならライトグレーの文字
EXIF情報
ヒストグラムを見やすくするため,また画像のEXIFデータを見やすくするために,EXIFデータをヒストグラム上に表示しなくなりました.新バージョンでは新しい場所に表示されます.デフォルトでは画像の下になります.
この場所に表示されるデータは,darktableの設定(「画像情報の形式」の項目)でカスタマイズできます.また,表示場所も設定可能です.
このフォーマットにどのようなパラメータが設定できるかは,darktableのマニュアルを参照してください.この設定を変更した場合,有効にするにはdarktableの再起動が必要です.
第二プレビューウインドウ
ダークルーム画像の左下にあるデュアルスクリーンボタンで,もうひとつプレビューを表示できるようになりました.この機能で,メインの表示とは異なるディスプレイプロファイルを選択し,比較することができます.メイン画面右下のソフトプルーフ・色域確認のところにある,新しいメニューから操作してください.
この新プレビューでは,マウスホイールでズーム操作できます.
この新プレビューは個別のカラープロファイルを持ちますので,別のモニターに置いて,そのモニター用のプロファイルを使うことができます.メインのプレビューと同様に,darktableはcolordかxatomからプロファイルを自動取得しますが,~/.config/darktable/color/out
に手動でプロファイルを置き,ディスプレイプロファイルのメニューから選択することもできます.なお,Windowsではcolordはふたつめのモニターでは動作しないようですので,その場合手動で操作する必要があります.
アクセルウインドウ:現在の画面で使えるショートカットを見る
いつでも,darktableのどの画面を開いているときでも,現在の画面で使えるショートカットを表示することができます.このリストは動的なものであり,デフォルトのショートカットとカスタム設定の両方が含まれます.表示はとても簡単で,h
キーを押してください(終了するときはAlt
です).このウインドウは,右上のボタンでdarktableのメインウインドウから分離することができます.
設定
darktable 3.0では,設定もよりわかりやすく整理されました.目的の設定を見つけやすいよう,グループ分けされています.
ライトテーブルの新機能:カリングとタイムライン表示
ライトテーブルでできることがさらに多くなりました.また多くのコード最適化が行われ,操作性と動作の両方が大きく改善しています.
ライトテーブルでは,「元に戻す/やり直す」にも対応しました.ショートカットCtrl+Z
で,キーワード,評価,カラーラベル,メタデータ編集,履歴のコピー・ペースト・削除,さらにはスタイルの適用さえもとり消すことができます.
=> このショートカットは元々「焦点検出でプレビュー」に割当てられていましたので,この機能はCtrl+W
で呼びだせるようになりました.操作性統一のため,元々Z
で呼びだせていたプレビューは,ショートカットW
かAlt+W
(持続的なプレビュー)で呼びだせるようになりました.
プレビューモードで,画像のパン・ズーム操作が可能になりました.プレビューを表示したら,Ctrl+mouse wheel
でズームできます.ただし,一部の環境では,この新ズーム機能の動作が遅くなる場合があります.表示を速くするため,端末上で次のコマンドを実行すると改善されるかもしれません(コマンド実行時にはdarktableを終了しておいてください).
darktable-generate-cache -m 6
上のコマンドの数字を変更して,処理するズームレベルを変えることもできます(7が100%に対応し,それより小さい値が有効です).使用ディスク容量を考えると,5はそこそこよい妥協点でしょう.このコマンドを実行すると,実際には,その時点での編集履歴に対応したjpgファイルの入ったキャッシュディレクトリを作成します.
カリング表示
これまでのバージョンでは,ライトテーブルはズーム可能なライトテーブルとファイルマネージャの二つのモードがありました.新バージョンでは,三つめのカリングモードが追加されています(他にもありますけど).このモードでは,選択中の画像から始めて,連続する(しなくてもよいですが)一定数の画像を表示します.パン・ズーム操作も可能です.表示する画像の数はユーザーが設定でき,画像間をマウスホイールやキーボード操作で移動できます.
ええ,つまり,ライトテーブルに対して最も要望の多かった機能のひとつ,イメージの比較機能ががついに追加されたわけです.どんなものか使ってみてください!
このモードは二種類の使い方があります.
- 固定ズーム: 画像の数はカリングセレクタメニューの右側にあるカーソルで設定します(ショートカットキー
x
でこのモード) - ダイナミックズーム: 画像の数はライトテーブルで画像を選択することで設定します(ショートカットキー
Ctrl+X
でこのモード)
もちろん,固定ズームで設定した値と同数の画像をダイナミックズームで選択すれば,同じことになります.どちらのモードでも,画像間を移動するには単に次のショートカットキーを使うだけです.
Wheel mouse
(あるいはキーボードでleft and righ arrows
):次の/前の画像を表示
表示する画像の数とモードの設定は,選択モード中,ライトテーブル下端にあるカリングメニューの右側にある設定で行ないます.
もしここで,スクリーンショットのように表示される画像の数を2(固定ズーム)にしてあるとすると,画像をひとつ選択すれば,それと次の画像が表示され,以下のようになります(なお,このモードにするにはショートカットキーx
です).
なお,上の例では,前述のショートカットを使ってパネルを全て隠し,なるべく画像を比較しやすくしていることにご注意ください.この状態から(上の画像にあるような)選択モードの設定を表示するには,ショートカットキーShift+Ctrl+b
を押せばよいです.
同様に,6つの画像を選択してダイナミックズームモード(Ctrl+x
で呼び出せるほう)にすると,次のようになります.
カリングモードでは,固定ズームとダイナミックズームの両方で以下の機能が使えます.
Ctrl+wheel mouse
: 全画像のズームShift+Ctrl+wheel mouse
: マウスカーソルが乗っている画像のみズームClick & drag
: ズーム中のとき画像をパン(表示中の画像全部)Shift+Click & drag
: 上と同様,ただしマウスカーソルが乗っている画像のみ
注意 4つ以上の画像を表示することは可能ですが,画像のズームとパンが機能するのは画像4つまでです.見づらくなるのと,処理量の問題のためです.
スクリーンショットのとおり,カリングモードでも主な画像情報,評価の星やカラーラベルが表示されます.もちろん,他のモード同様,ここで表示される情報は設定可能です.
知っておくと便利な機能として,マウスカーソル操作でこの情報を表示したり隠したりする,というものがあります.画像の上でマウスカーソルを上に動かすと表示され,下に動かすと消えます.
タイムライン表示
新しく追加されたタイムライン表示は,ライトテーブルでショートカットキーCtrl+f
を押すことで,最下部に表示されます(ダークルームのフィルムストリップ表示と同じショートカットで,同様の場所に表示されます).この表示も,設定画面で有効/無効にすることができます.
ここでは,画像が時系列順に表示され,好きな範囲をマウスクリック・ドラッグで選択することができます.いつの画像かを見るには,マウスカーソルをこの表示の上に動かしてください(年/月の形式で表示されます).
タイムライン表示の例は,この記事の最初のほうにあるテーマ紹介スクリーンショットに出ていますので,ご覧ください.
RGB空間上のワークフロー
RGB色空間専用の,新しいモジュールが登場しました.darktable 3.0では,この節で紹介するモジュールを使って,画像を完全にRGBで編集できるようになりました.大半の画像は,この種のモジュールとホワイトバランス,露光,ノイズ低減(プロファイル)のみを使って編集可能です.より少ない種類のモジュールで,強力かつ高速なワークフローが実現できます.ひとことで言えば,効率的です.
=> この新しいワークフローを最大限生かすために,カラープロファイルを入力モジュールでlinear Rec2020 RGBを有効にすることを強くおすすめします(linear prophoto RGBを使うことも可能です).
=> またこのときは,darktableの設定の内部オプションタブの品質の項に追加された新オプションにより,ベースカーブとシャープ化を無効にしておくことも,同様に強くおすすめします.
このRGBワークフローについて,またなぜdarktableで採用されたのか理解するため,次の動画darktable 3.0 におけるピクセルパイプラインと画像処理を見ることをおすすめします.少し時間をとってこのAurélien Pierre氏による3.0についての最新の動画を見ておけば,画像処理を効率的に行なえるように,またこの最新のワークフローを最大限生かせるようになりますし,結局は大幅に時間を節約することにつながります.
ただまあ,このワークフローの概略と利点は以下でも紹介しています.
線形RGBワークフローは,darktable 2.6からフィルミックやカラー バランスモジュールを使って徐々に導入されてきています.主な目的は,1980〜1990年代の遺産である,紙に印刷するための低ダイナミックレンジ写真技法から解放されることです.このディスプレイ参照型と呼ばれている伝統的なワークフローでは,それぞれのRGB値が(人間の知覚による)色を表しており,これを心理的に現実に近く感じられるように編集する,という前提になっています.しかし残念ながら,(物理的な)光を(心理的な)色の知覚に関連づけるための心理学モデルは,低コントラスト(あるいは低ダイナミックレンジ)の画像でしか有効に働きません.これは100:1のオーダー(6.67EV相当)であり,最新のカメラがより高いダイナミックレンジ(現在では12〜14EVであり,4096:1〜16384:1に相当)を扱えるようになるにつれて問題を起こします.たとえば暗い写真を明るく持ちあげようとした場合に予想されるのは,対象周辺の暗化(?),彩度過剰や不足,明るさを直せば色がおかしくなり色を直せば明るさがおかしくなる……という,端的に言って地獄です.
シーン参照型と呼ばれている線形RGBワークフローでは,それぞれのRGB値が光の放射度合い,つまり光のスペクトルをカメラのセンサーを通して3つの強度に変換したものを表している,という前提になっています.カメラのセンサーは,色の強度を計る以上のものではありません.このワークフローではRGB値を物理的な現実に即した形で編集し,光学フィルターの効果を電子的に再現します.これは単にアルゴリズムを変えずにどんなダイナミックレンジにも対応できる(その結果HDRに関する専用の方法も不要になる)というだけではなく,より自然で予測可能な結果を得ることにもつながります.
この新しいワークフローは,映画産業界ではすでに1990年代には(実際の必要性とは関係なく)導入されていたのですが,今でも写真業界では毛色の変わったシロモノです.このワークフローにより,今後ユーザーの習慣は変化し,ますます光の(物理的な)用語で考えるように,ますます色の(心理学的・知覚に関する)用語では考えないようになってゆくでしょう.
それでも,心配することはありません.子供だって紙に絵を描くときには,意識せずとも物理的に色を操作しているわけです.青と黄色を混ぜたら緑ができることはわかっています(絵を描くことは減算による合成であることに注意).しかし,ディスプレイを基準とした空間で動作するソフトウエア(Gimpのように)で白から青と黄色を減算すると,黒になります.また青と黄色を混ぜると,白になってしまいます.Krita(訳注:ペイントソフトの名前?)のような方法,その線形の描画方式を使うことが必要であり,黄色と青を混ぜたときに「緑っぽい」(あるいはシアンっぽい)色が得られてほしいのです.このことは,物理的な現実に即した線形RGBワークフローが,色の知覚の方程式について知らなくてさえも,直観的に理解できることを十分証明しています.
新フィルミック RGBモジュール
フィルミック RGBは(2.6での)フィルミックの新版です.新しい内部APIによって再設計され,パイプラインのRGBカラー空間を定義できるようになりました(前述のとおり,カラープロファイルを入力を設定します).旧版と同様,このモジュールの目的は,(ラティチュードの範囲で)中間トーンでのコントラストをどう保つかを定めて,RGB値を撮影されたシーンの色空間(高ダイナミックレンジの可能性がある)から画面の色空間(低ダイナミックレンジ)に変換することです.ですので,これはダイナミックレンジを圧縮するようにも拡大するようにも使うことができ,S字トーンカーブを使わずダイナミックレンジを同一に保つことさえ可能です.
それから,色度保持モードで起きる彩度過剰(特に赤)など,いくつかのバグ修正と,使いやすさの面での改良が加えられています.
- インターフェースが「シーン」「ルック」「ディスプレイ」のタブに分割され,見やすくコンパクトになりました.
- フィルミック曲線が,フィルムの吸光度の特徴を再現した新しいスプライン曲線になりました.旧版よりも黒が深く,褪せにくくなり,中間トーンのローカルコントラストが改善され,またパラメータにかかわらず発振することがなくなりました.
- 出力関数が自動的にグレーポイントを恒等線上に保つようになり,曲線の制御がしやすくなりました.
- ラティチュードがダイナミックレンジに対する比率で設定されるようになり,白と黒の点の相対的露光が変更されたときも再調整は不要になりました.
- 色飽和低減カーブがグラフ上に表示されるようになりました.
- 色保存におけるバグの影響を補正するための「大域彩度設定」は無くなりました.カラーバランスで彩度を設定する方法が推奨されます.
色保存モードは,旧版のRGB最大に加え,輝度Yとパワーノルムの2つが追加されました.RGB最大では青空が暗くなりすぎてしまう場合など,今まで使えなかった状況にも対応できる場合があります.
新トーン イコライザモジュール
トーン イコライザモジュールはカーブを使ったトーンマッピングを行いますが,それをAnsel Adamsのゾーンシステムに合わせた輝度の対数表現(EV)ごとに適用します.このモジュールの機能は,単に露光補償を定義するだけのものですが,それを元ピクセルの輝度に応じて変えることができます.トーン イコライザで可能なことは,パラメトリックモードの露光モジュールを複数インスタンス使って,それぞれ別の露光レベルに合わせれば完全に再現することが可能です.トーン イコライザはこの処理を高速に,またある程度自動化するだけです.
このモジュールのインターフェースでは,ハイファイアンプの(音響)イコライザのように,0EV(白)〜-8EV(黒)それぞれの露光帯ごとに,選択的な露光補償を簡単に設定することができます.露光補償の際にはガイドフィルターによって被写体の抽出を行い,画像内の連続した範囲には同じ補正を適用することができるので,局所コントラストは保存されます(この理屈はシャドウとハイライトモジュールと同様ですが,ガイドフィルターはコントラストが強い境界でハローを起こさないように設計されています).このためトーンイコライザは後から光の強さを調整しなおすことを,物理的に現実に近い,色に影響したりハローを起こしたりしない方法で行うことができます.したがって,伝統的なHDRマッピングやシャドウ補正ツールよりずっと信頼できるものです.
このモジュールでは新方式の操作も導入されました.マウスカーソルを画像の上に動かすとカーソル位置の露光が表示され,さらにmouse wheel
で対応する露光補償をその場で操作できます.
(ガイドフィルターによる)ディテール保存モードは無効化することも可能で,この場合は単純に対数インターフェースを持ち色保存アルゴリズムを使うトーンカーブとして動作します.設定値の補完は一連のガウシアン関数で行なわれるため,単調スプラインの場合より滑らかで,ベースカーブやトーンカーブの3次スプラインより上下動が少なくなります.
新RGBカーブ・RGBレベルモジュール
この2つのモジュールは,旧レベルおよび(RGBモードの)トーンカーブモジュールの機能を提供しますが,ピクセルパイプラインではRGB空間で動作し,線形RGB合成モードを使います(旧モジュールはLabで合成することに注意).また,RGBチャネルを別々に管理することが可能で,フィルミックの連結チャネルモードのときと同様の方式で色の保存を行います.
RGBレベルモジュールが,カラーバランスモジュールにおける傾斜・オフセット・冪乗と,完全に同じアルゴリズムを使っていることも,知っておくとよいでしょう.黒の設定はオフセットに,グレイは冪乗に,白は傾斜に対応します.本質的な点は,インターフェースが変わったことと,RGBレベルでは入力を0%から100%の間だと想定していること,適用する変換の16ビットLUTを事前に計算していること(10年前には処理高速化のために使われていた技ですが,最近は減りましたね)です.カラーバランスは0から無限大までの入力を受けつけますし,個々のピクセルの値をその場で計算しています.
ノイズ削減の大きな改良
ノイズ削減(プロファイル)は,質を向上し,ユーザーを少々楽にするため,いくつか大きな改良が加えられました.
背景:ノイズ削減(プロファイル)がどのように動作しているか
ノイズとは,いくつかのピクセルにランダムなRGB値の不整合を起こす量子力学的な現象であり,画像の滑らかであるはずの部分にちらばった輝度や色の「粒」として知覚されます.科学ではよくあることですが,ランダムな現象にぶつかったとき,我々はそれを大数の法則を使って扱い,現象をモデル化する統計的分布を探します.統計的分布には,平均と分散という二つの主要なパラメータがあります.
分散とは,データが平均の周囲でどの程度ばらついているかの指標で,つまりこの場合は平均値と「普通の」ピクセルの間の典型的なずれがどのくらいかについて情報をもたらしてくれます.そしてプロファイルによって,分散は平均の関数として表すことができます.
プロファイルとは,複数のパラメータ(チャネルごとに2つ,ISO値ごとに別)を集めたもので,輝度に対してノイズの分散がどのように変化するかを表します.プロファイルはテスト画像(十分ぼやけていて,ぼやけてないものはノイズだと言い切れるように調整した画像)について測定を行って作られます.
ノイズ除去アルゴリズムは,通常,分散は輝度に依存しないという前提をおいています.このような手法を,この前提が保証できないデータに適用すると,ノイズ除去にむらが生じます.そこで,プロファイルによって「分散安定化変換」(VST)と呼ばれる変換を構成し,ノイズの分散が均一な画像に変換することができます.変換後は,ノイズは暗部や明部でも同様の特徴を持つようになり,ノイズ除去アルゴリズムでずっと簡単に処理できるようになります.
削減品質に関係する,ノイズ削減(プロファイル)の新機能
ここまで見たとおり,darktableは分散安定化変換のために,チャネルごと・ISO値ごとに2つのパラメータを使います.
重要な変更点としては,分散安定化変換を改善し,より一般的なものにしたことがあげられます.新しい分散安定化変換は,明部や暗部のノイズ削減量を制御するための第3のパラメータを使うことが可能になり,ちょうどいいバランスをとりやすくなりました. 理想的には,この第3パラメータはプロファイル作成の際に求めるべきですが,現在のところはプロファイルにすでに含まれる2つのパラメータから自動で(経験則的に)推定されるようになっています.また,手動で設定することも可能です. なお,このパラメータは,Rawtherapeeのノイズ低減機能にあるガンマ設定に相当します. また,この分散安定化変換の改善により,バイアス補正の設定をすることも可能になりました.これは,(高ISOでよく起きますが)暗部が紫がかってしまう場合に補正します.
さらに,非局所平均アルゴリズムにも新しいパラメータが追加されました.
1つめの新パラメータは散乱パラメータというもので,粗い粒状のノイズを効果的に削減します. jpg54画像でのちょっとした例ですが,左側が今までの結果で,右側が新版での結果です. 左側では非常に目ざわりな粗いノイズが出ているのがおわかりかと思います.
もうひとつ,「中央ピクセルの重み」という新パラメータも追加されました.これは主に細かい部分を調整し,画像の細部(と細かいノイズ)を復元します.これを大きな値に設定すると,主に色ノイズを除去します.この方法は,主に色ノイズを削減したいという場合におすすめです.以下の例では,意図的に少々大げさにしてありますが,上側は細部復元を一切行なわなかった場合で,下側は細部復元を強くかけた場合です.
使いやすさに関係する,ノイズ削減(プロファイル)の新機能
新パラメータの導入により,設定するところが多くなって,ややインターフェースが複雑になりました.
そこで「自動」モードが追加されました.これを使うと,大多数のパラメータがプロファイルに基づいて設定されます.このモードでは,自動設定されるパラメータを調整するスライダーを使います.ノイズ削減がいまいちであればスライダーの値を増やし,詳細を塗りつぶしすぎだと思ったら減らしてみてください. この設定は,特に画像がとても露出アンダーな場合には使ったほうがよいでしょう.
スライダーの値を変えてからマニュアルモードに戻した場合,それぞれのスライダーは対応する値に自動的に更新されます.
また,このモジュールのデフォルト設定もプロファイルによって自動的に調整されますので,モジュールを有効化するワンクリックだけでノイズ削減,ということもできます.
その他の重要な機能
新しい3D lutモジュール
3D lutモジュールが追加されました.これを使うと写真に対して3次元行列を適用できます.この行列により,RGB値を別のRGB値に変換します(白黒写真については,全RGB値がグレー・黒・白になります).この機能は銀塩フィルムをシミュレートしたり,カラフルな作品を作ったりするために使います.これは旧HaldCLutモジュールと同様の機能です.
3D lutでは3種類の行列ファイルが使えます..cubeファイル,HaldCLutの.pngファイル,圧縮LUTです.
- .cubeファイルはテキストファイルで,動画や写真彩色で広く使われています.
- HaldCLutの.pngファイルは画像ファイルです.これは.cubeファイルより小さくなります.
注意: これら2種のファイル(.cubeと.png)は非常に大きいので,darktableのデータベースや.xmpファイルには保存されず,ディレクトリとファイルの名前だけ保存されます.このため3D lutを使った処理を共有するのは少々難しくなりますし,これらのファイルは失わないようにする必要があります.他のユーザーが処理を再現できるようにするには,ファイル(.cubeか.png)と一緒にRAWファイルと3D lutを適用していない.xmpファイルを渡す必要があります.リンクが異なっているからです(?).受けとったユーザは,その人の計算機とOS上で,モジュールをlutディレクトリに適用する必要があります.
- 圧縮LUTファイルとは,G'Micによるルーチンで圧縮された.png画像ファイルです.これはサイズがそれほど大きくないので,データベースや.xmpに含めることが可能で,そこから取り出すことや,他のユーザーに渡すことはもっと簡単になります. 銀塩フィルムをシミュレートするHaldClut.pngファイル と cubeファイル がダウンロードできます.
また,lutファイルへのリンクがある英語記事 もあります.
3D lut の使い方
- 設定画面の内部オプションタブで,使用するディレクトリを設定します.
- ダークルームに行き,3D lutを開いて,中にあるアイコンをクリックします.
- ファイルを開くときには.pngファイルだけ表示されるので,.cubeか「全てのファイル」を選択します.
- You get this result with a B&W .png:
- 白黒用の.pngファイルを使うとこのような結果になります.
- そしてこれはカラーの.cubeファイルの場合です.
色空間は,.pngの場合sRGBを,.cubeの場合REC.709を使ってください.
「四面体」補完方式はほとんどの場合に使え,他の2種類の方式との差がわかる場合はわずかです(小さい変換テーブルを使ったいくつかの場合を除いて).
タグ付けモジュールの完全な書き直し
ダークルームとライトテーブルで使えるタグ付けモジュールですが,これは完全に再設計されました.これまでよりずっと直感的に使えますし,これまで複雑な操作が必要だった多くの機能が1・2クリックで使えるようになりました.全体的な見た目はそれほど大きく変わってはいません.二分割されていて,上には選択中の画像につけられたタグ,下にはdarktableで使えるタグ一覧が表示されています.真ん中には入力欄があります.しかし旧版と新版の対応はここまでです.画面の内容は多くの点で変更されていますし,特に操作についてはずっと直感的になり,整理されました.
上部分(設定中のタグ)には常に,現在選択中の画像につけられたタグのリストが表示されます.このタグは常にdarktableの表記法にそった形で表示されます(階層的レベルは縦棒「|」,いわゆるパイプで区切られます).旧版のモジュールと似てている点は,ここで終わりです.
それぞれのタグの左には小さいアイコンがつくようになりました.何もないか,ダッシュか,チェックマークかの3種類です.
- 何もなし:これはhovered(?)画像だが,選択されていない.
- ダッシュ:このタグは,選択中の画像の少なくともひとつにつけられている.
- チェックマーク:このタグは,選択中の画像全てにつけられている.
タグの右側,括弧の中には,現在選択中の画像のうちこのキーワードがつけられている画像の数が表示されます.
大型新機能:タグの上で右クリックするとコンテキストメニューが表示されます.メニュー項目は一つの場合と二つの場合があります.
一つの場合:
- タグを切り離す - 書いてあるとおりです(訳注:タグをはずします).
二つの場合:
- 全てにタグを付ける - 別々のタグをつけた複数の画像を選択している場合,これで選択中の全画像にこのタグをつけることができます.既についている画像はそのまま,ついてない画像にはタグがつきます.たいへん実用的ですね.
- タグを切り離す - 上と同じです.
この部分の最下部では,ボタンの数が2から5に増えました.もともとあった添付
と 除外
のボタンに加えて,以下の3つが追加されています.
✓
ボタンで,darktable特有のタグの表示・非表示を切り替えられます.非表示にするとかなり簡潔な画面になるはずです.⥮
ボタンで,タグの表示順を切り替えられます.アルファベット順か,つけている画像の数の多い順のいずれかです.-
ボタンで,タグの全階層を表示するか,タグ単独で表示するかを切り替えられます.
真ん中の入力欄では,いつでもタグを検索する,あるいは新しいタグを作成することができます.ただし,新規作成する場合,後述の新しい専用の画面を使うほうが,機能も多く便利です.それから,右端のバツボタンで入力欄の内容を消すことができます.
画面下部(タグ一覧)には,常に,利用可能なタグのリストが表示されます.ここでも大きな改善がありますが,今回は見やすさに関することです.つまり,タグの階層はツリー状に表示されるようになりました.コレクションフィルタモジュールでのタグの表示や,スタイルモジュールでのスタイル階層の表示と同様です.画面上部と同様に,タグの左側には小さいアイコンがつきます.意味は次のとおりです.
- 何もなし:このタグは使用可能だが,選択中の画像にはついていない.
- ダッシュ:階層の途中に表示され,ここ以下のタグの少なくとも一つが選択中の画像の少なくとも一つにつけられていることを示す.
- チェックマーク:このタグは,選択中の画像の少なくとも一つにつけられている.
タグの右側,括弧の中には,全辞書中の(?)このタグがつけられている画像の数が表示されます.このタグをつけた画像がひとつもなければ,何も表示されません.
もう一つ新機能です.設定中タグを表示するウインドウで右クリックして,多機能コンテキストメニューを呼び出すことができます.
- タグを付ける - 書いてあるとおりです.
- タグを切り離す - 同上
- タグを削除 - 同上,確認あり
- ブランチを削除 - このタグを削除し,ほかにつけている画像がない場合はこのタグより階層的に下のタグもすべて削除します.
- タグを作成 - タグを作成するダイアログを開きます.もちろん,入力欄とボタンでタグを新しく作る方法もいつでも使えますが,この方法で作成するほうがさらに多くの機能が使えます.まず,新しいタグをプライベートタグとすることができます.その場合エクスポートされた画像には含まれなくなります.また,タグをカテゴリーに入れることもできます(ここで「カテゴリー」と言ってるのは,タグを分類するためのものです).最後に,新しいタグに対する類義語を登録しておいて,頻繁に使うタグを入力しやすくするとこもできます.
- タグを編集 - タグ自体と,上で説明した各種属性を変更することができます.
- パスの名前の変更 タグの,階層構造における途中部分の名前を変更することができます.
- エントリーにコピー - 入力欄にタグをコピーし,タグを追加したり検索したりする助けになります.
タグが少なくとも一つの画像に付けられている場合,以下の操作も可能です.
- タグコレクションに移動 - タグをコレクションフィルタモジュールにコピーし,そのコレクションを有効化します(?).
タグ一覧ウインドウの下のボタンも,4つから5つに変更されました.これまでのバージョンでは新規
,削除
,インポート
,エクスポート
のボタンがありました.
現在のボタンは以下のとおりです.
新規
- これまでと同様です(タグを新規作成したいときは,上述のコンテキストメニュー内の「タグを作成」のところを見てください).インポート
- これまでと同様です.エクスポート
- これまでと同様です.+
サジェスチョン表示のオン/オフを切り替えます.これは次のボタンがリストモードになっているときのみ使えます.≣
リスト表示とツリー表示を切り替えます.つまり,階層ごとにパイプ記号「|」で区切られて表示されたタグのリスト,という古い表示形式に戻すことができます.
これまでと同様,タグのオンオフはダブルクリックでも可能です.
最後にひとつ重要なこととして,どちらのウインドウもリサイズ可能であることにもご注意ください.Control
+ wheel
の操作だけで,それぞれのウインドウを別個に拡大縮小できます.これで,タグを快適に管理するために右側部分全部を使ったり,別のモジュールを使ってる間にもタグウインドウを出しておくために最小化しておいたり,といったことはとても簡単に可能です.
新基本調整モジュール
基本調整では,名前が示すとおり,基本的な調整をひとつのモジュールでまとめて行うことができます.このモジュールと,次節で述べるラスターマスクの説明用に,ここでは@holly76氏の提供によるRAWファイルを使います.
このモジュールでは,露光に関して2つのスライダーを使います.
これはコントラスト,明るさ,彩度を調整するスライダーです.
警告: 基本調整モジュールを,露光モジュールやコントラスト 明るさ 彩度モジュールと一緒に使わないようにしてください.実際,そうするのはマスクも使わずにモジュールを複数インスタンスで使うようなものです. 色度 保持はベースカーブと同じ値を使います(ベースカーブにもdarktable 3.0でこのオプションが追加されました).従って,このモジュールをベースカーブモジュールと同時に使う場合でも,この二つのオプションを同時に使わないほうがよいです.
実際の処理例
ここでは,露光が大きく不足している写真を選びました.まずピッカーで,露光が適正になるはずと思われる範囲を選択します.
すると,スライダーが自動的に調整され,処理が行なわれます.
このモジュールは,そんなにたいそうな処理を必要としていないような写真を,すばやく修正するのに役立ちます.つまり,簡単にさっと処理したい場合とか,RAW現像をはじめたばかりのときなどに特に適しています.このモジュールの主な制限は,基本調整で出てくる各種パラメータは本来,画像処理の別々のレベルで出てくるものだ,ということです(このモジュールとは別のところで,それぞれ別のモジュールの中で).ですから,結果が(ちゃんと各種処理をした場合と)全く同じ見た目になるわけではありません.
=> このモジュールは新三つ組(フィルミック RGB,カラー バランス,トーン イコライザ.必要によってはRGB カーブやRGB レベルが追加されます)によって構成される新RGBワークフローでは,決して使わないでください.
新 ラスター マスク
ラスターマスクによって,マスクをあるモジュールから別のモジュールで再利用するための新しい方法が使えるようになりました.これは特にパラメトリックマスクで便利です.つまり,ピクセルパイプライン上で別の段階のモジュールでは,同じパラメータを指定しても同じピクセルが選択されるわけではないので,パラメータをコピーするだけでは同じマスクにならないからです.ラスターマスクはマスクそのものを再利用しますので,この問題は起きません.
注意: ラスターマスクは,ピクセルパイプライン上で自分自身より先に存在するモジュールからのみマスクを取得できます.また,ラスターマスクを使っているモジュールを,元々のマスクが使われているモジュールより前に移動させないよう注意することも重要です.現在のところ,もしそうしてしまうと望ましくない結果になります(最悪,darktableがクラッシュします).
例として,上と同じ画像を使います.まず最初に,露光モジュールで暗い部分を対象にパラメトリックマスクを使いました.
そしてその範囲を明るくします.
さらに,緑色の暗部をすこしあざやかにするため,カラーゾーンモジュールでラスターマスクを使い,同じマスクを適用しました.こうするには,ラスターマスクオプションで露光のラスターマスクを選ぶだけです.
その他の改善
画像処理のパイプラインは完全に再検討され,最適化されました.またこのバージョンでは,モジュールの順番は変更可能になりました.ダークルームのモジュールの上でShift+Ctrl+Drag&Drop
を使うか,インスタンスメニューの中で上/下オプションを使ってください.
注意: 非常に重要なことなのでしっかり理解していただきたいのですが,モジュールの順序を変えると処理の順序も変わり,それは最終的な出力にも影響します.デフォルトの順序は,ほとんどの利用状況に対して安全で最適なものです.モジュールを動かすのは,一体何をやっているのか,またその結果画像にどのような影響が起こるはずなのか,よくわかっているときだけにすることをおすすめします.モジュールを「分類」したり「整理」したりするためだけに順番を変えることは,いかなる場合にもやるべきではありません.
カラー ゾーンモジュールは「種類」オプションに応じたヒストグラムを表示するようになりました.カーブのノードを追加したり削除したりすることも可能になりましたが,「領域で編集」をチェックして以前からのサイズコントロールを使っても,ノードは動きます(?).また,処理の「強」モードと,画像の選択範囲からカーブを作る新しいピッカーも追加されました.
カラーピッカー(ダークルームの左パネル)とトーンカーブモジュールでは,処理性能と見た目が少々改善されたこともあげておきます.もっと一般的に言えば,darktableのさまざまな部分で,範囲選択機能関係はいろいろと改善されています.
ダークルームでモジュールを有効化・無効化するたび,自動的に表示したり隠したりするかどうかを設定する,新しい設定項目が追加されました.
PicasaへのエクスポートはGoogle Photosへのエクスポートに更新されました.
darktable 3.0はさらに多くのバグ修正や小規模な改善があると思いますが,ここで書いてなかったものは,まあたぶん新機能が多すぎてちょっと忘れてたんだと思ってください.
バージョン3.0.1も準備中
バージョン3.0では大きな変更が行なわれたので,機能のフリーズは10月のはじめになされており,画面内の文字列は11月にフリーズされています.少し時間に余裕をもたせたのは,darktable 3.0がクリスマスにリリースされるまでに,可能なかぎりバグを修正したり,翻訳担当者に各国語インターフェースを用意してもらったりする時間をつくるためです.
というわけで,新しい改善がそれ以降も提案されたり開発されていたりします.2020年の第一四半期リリース予定のバージョン3.0.1では,そのへんも取り込まれるはずです.以下は,この3.0.1で導入されると思われる新機能の一部です.
- 画像間のメタデータコピー機能(キーワード,位置情報,メモ,色ラベル……)
- コレクション検索欄でのキーワード検索機能追加
- さらにモジュールの最適化 トーン イコライザ,カラー ゾーン等
- 基本調整モジュールに「自然な彩度」スライダーを追加
- ライトテーブルで画像を読み込んだときの,ダークルーム表示への画面遷移の大きな改善(ダークルームが完全に表示されるまで,ライトテーブルの一部がうしろに表示されてたりするのがなくなります)
- フォーカス部分強調表示(現在のところ3段階で,ライトテーブルとダークルームで利用可能です).現在ライトテーブルで利用可能な「フォーカス検出の四角形」に比べると,画像の合焦エリア表示が明らかに改善されます(現在のものもそのまま利用可能です).
- 左右のパネルを,マウス操作で直接,独立にリサイズできるようになります.それぞれのパネルのサイズは画面ごと(ダークルーム,ライトテーブルなど)に記憶されますので,それぞれの画面で別々のサイズにすることも可能です.
- ISO 12646:2008 ICC 勧告による,ダークルームでの画像の周囲に白い枠を付ける機能.これは,特に明るい部分において,コントラストがきちんと出ているか確認するためのものです.ただし,これは特殊な用法ですので,注意と練習を必要とします.その他の色はこの方式を非推奨とします(?)
- パラメトリックマスク(対数モード)での暗色のより正確な調整
- 最後に使ったタグをもう一度画像(ひとつでも複数でも)に付ける,簡単なキーボードショートカット
- いつものバグ修正やさらなる改善も計画中
なおこのリストは完璧なものではなく,現在までに知られている開発状況を示したものです.
この記事について
この記事のライセンスは表示 2.0 一般 (CC BY 2.0)か,あるいはクリエイティブ コモンズ BY-NC-SA 3.0です. (原文:This article is licensed under the terms of the Attribution 2.0 Generic (CC BY 2.0), or, at your option, the Creative Commons BY-NC-SA 3.0 License.)
この記事の共著者: Nilvus, aurelienpierre, rawfiner, jpg54, jpv, Ro_G, Matthieu Moy. また,校正を手伝ってくれた皆さんにも感謝します.