風来坊@真幸福知

風来坊@真幸福知

始まりは坐禅会のご案内, 思いつくことを何でも書いていたら星空系に... Started with Zazen session info. now almost astrophotos. 시작이 참선회 안내, 이제 별하늘 사진들.

darktableによる富士フィルムX-TransセンサのRAFファイルの変換

追記(2019/9/22): Sirilがいつの間にかFujifilm X-E2 (X-Transセンサ)のRAWファイル(*.RAF)を変換してくれるようになっていた(Siril 0.9.8-003)! darktableで変換という手間はもういらないかも.

天体写真のスタック処理にSirilというソフトを使っているが, 困ったのはこれがFujifilm X-E2のRAWファイル(拡張子RAF)を読み込んでくれない. それでRAFを他の形式に変換するソフトを探した所, Fujifilmから提供されるRAWファイル変換ソフト等はWindowsMac用だけでLinux用はない. 結局, Linuxではdarktableのような汎用の写真処理ソフト(「現像」ツール?)でRAFを取扱えるものを使うしかなさそうということを知った.

www.darktable.org

darktableによるRAFファイル読み込みの前処理のデフォルト設定

darktableは各種デジタルカメラのRAW形式ファイルを処理でき, 要するにフィルムの写真で暗室でやるようなことができるツールということらしい. 使い慣れているGimpのようなフォトレタッチツールと違って, どうも使い勝手がよく分からない.

それでRAFの変換だけに使いたいのだが, ファイルを読み込む時にも勝手に「回転」とか「シャープにする」とか「ホワイトバランス」とか「ハイライトの調整」とかやってくれる.

天体写真のスタック処理のときにはoffsetとかdark信号を差引く前処理をするのだが, それには画像の向きが被写体の向きに合わせて回転していると都合が悪い. すべて同じ向きで, 不要な前処理をしないナマのデータが欲しいのです.

この前処理を無効化するのに結構悩んだ. いろいろ探したところ, こういう読み込み時の前処理に対するデフォルト設定は, darktableのユーザー設定ファイル(~/.config/darktable/darktablerc)などにはなく, 画像ファイル毎の処理内容が記録されるライブラリデータベース(~/.config/darktable/library.db)(バイナリファイル)に記録されること, その内容はdarkroom(画像表示, 下の図1)の右側のモジュールリスト(要するに画像に対するひとつひとつ処理項目, 下の図の右側)で"presets"を設定することで調整できるということが分かった.

f:id:cheonghongsa:20190204195024p:plain

<図1: darktableのdarkroom画面>

例えば, X-E2というカメラのRAWファイル(*.RAF)に対する処理のデフォルトを設定するのは, 以下のような操作となる:

  • まず, RAFファイルを1枚読み込む. そのときは元々のデフォルトの読み込み時処理として, demosaic (RAWのピクセルデータを汎用のピクセルデータに変換する)の他, orientation (方向), sharpen (シャープにする), white balance (ホワイトバランス), base curve (数値と色の対応関数), highlight reconstruction (ハイライトの処理)が適用されている. (darkroom画面, 図1)
  • これらの中で好みに合わないものを変更して, その項目のpresetとして保存する. ONになっているモジュールをOFFにするという設定も保存される. (図2: darkroom画面の右側のモジュールリスト)

やりたいのは以下のような設定.

  • demosaic : Markesteijin 1-pass, color smoothing off (FujifilmのX-Transセンサ用の設定)
  • white balance : camera
  • sharpen, orientation, base curve, highlight reconstruction : OFF

f:id:cheonghongsa:20190204200441p:plain

<図2: darkroomの右側のモジュールリスト>

設定を変更する度に, そのモジュールの左の三本線メニュー(例: 図2のマウスカーソルのところ)で'store new presets'をやる. 開いたダイアログ(図3)でnew presetsの名前を書き(以下の例はX-E2のRAFファイルの場合に常に適用するデフォルト前処理ということで'X-E2-RAF'とした), 'auto apply .... matching images'にチェックすると, 適用するファイルの条件のリストが出る.

f:id:cheonghongsa:20190204200945p:plain

<図3: 'store new presets'のダイアログボックス>

ここではカメラの機種が'X-E2' (図1の左側のように画像の情報にmodelなどの情報があるので確認)で形式が'raw'の場合に常に適用するように設定. 'ok'を押して保存する.

これを, 設定変更したモジュール全てについて行う. これでdarktableでのRAF画像読み込みは思うような動作になった.

ちょっと不便なのは, ユーザーのライブラリデータを消去するとpresetsの設定も消えてしまうこと.

RAFから別の形式への一括変換

一旦darktableを終了し, 処理するRAFファイル複数個をファイルマネージャで選択して, 右クリックでdarktableで開くと, 設定したデフォルトの前処理によってファイルが読み込まれ, lighttable画面(画像一覧)に表示される. このlighttable画面でCtrl+Aで全部を選択状態にし, 右側のの'export'を実行する. ファイル形式はPNG(16bit)とした. X-E2のRAFは各色14bitらしいので, 8bitしかもたないJPEGPNG(8bit)ではデータが劣化する.

f:id:cheonghongsa:20190204202435p:plain

PNGファイルは, もとの画像があるディレクトリの中に作成される'darktable_exported'の中に生成される.

おまけ: 表示フォントサイズの調整

darktableをサイズの小さい高解像度スクリーンの最近のノートPCで使うと, 文字が小さくて見づらい. この文字サイズの設定変更は以下のようにする.

(Ubunbuでレポジトリからdarktableをインストールしている場合を想定)

/usr/share/darktable/darktable.css を ~/.config/darktable/ 以下にコピーする.

これを編集して'Sans 8' => 'Sans 11' のように変更する. これがdarktableウィンドウ内の表示フォントとなる.