今回は小ネタです。以前コメントでTKさんが教えてくれたcr2ファイルの温度引き出し情報を、実際のやり方も踏まえて書いておきます。


一眼レフカメラの温度情報どうしてますか?

私は天体撮影にCanon製カメラをつかっていますが、みなさん撮影する時に、カメラのセンサーの温度はどうやって記録しておきますか?

ダーク補正をするためにはライトフレームの撮影時の温度と、ダークフレーム撮影時の温度を合わせる必要があります。一つの方法は、撮影終了後、気温が変わらないうちにダークフレームを撮影してしまえばいいのかもしれません。でもダークフレームの撮影はライトフレームの撮影と(枚数を合わせようと思うと)同じくらいの時間がかかります。せっかくの限られた撮影時間がもったいないですし、明るくなってきてからだと急激に温度が変わる可能性があります。

私は、Canonの一眼レフカメラでEOS 6Dを使っていますが、普通にカメラ単体で撮影して、例えばMacでファイル情報(Option+i)で見ても、いったい何度で撮影されたかの情報を得ることはできません。Canonの純正ソフトDPPでもわかりません。なので私は温度情報を得ることをほぼ主目的として、長い間BackYard EOSを使ってきました。


BackYard EOS

BackYard EOSは優秀で、どこからか温度情報を読み出して撮影した画像のファイル名に温度を書き込んでおいてくれます。有料ソフトで結構しっかりしているので、Ditherの対応など他にたくさんメリットもあるのですが、いまだに温度のためだけにこのソフトを手放すことができません。確かAPTも温度情報が得られると聞いたことがますが、私はまだ一眼レフカメラでは試したことがありません。

BackYard EOSですが、百歩譲って撮影中は温度も取れるし使っていても苦になりません。でもダークフレームを撮ろうとして、撮影時の外の温度と合わせるために6Dを冷蔵庫や冷凍庫に入れるとすると、PCと接続しながら撮影しなくてはなりません。細いケーブルを使って冷蔵庫の近くにPCを置いてもいいのですが、家族からは邪魔者扱いされるので大抵はStickPCをつなげて、リモートデスクトップで状況を確認してたりします。でもはっきり言ってStickPCもさらに電源が入ったりするので面倒なんですよね。カメラ、StickPC、電源が冷蔵庫の中に入っていると、扉を開けた時にインパクト特大で、たいてい家族に怒られます。


IrfanViewを使った温度情報の引き出し

ここまでが前置きです。今回は普通のファイルから温度情報を抜き出す便利な方法を紹介します。用意するのはIrfanViewというソフトです。もしかしたら古いWindowsユーザーは「懐かしい」と声を上げるかもしれません。その当時Susieと並んでよく使われた画像閲覧ソフトです。

まずは下記リンクから自分のWindows環境に合わせて32bit版、もしくは64bit版をダウンロードしてきて下さい。



cr2ファイルを読み込むことができるように、同ページからプラグインも入れておいて下さい。マニュアルを見るとCanonのDLLが必要と書いてあるので、EOS utilityも必要かもしれません(私の環境だと既にもう入っているのでどこで入ったかわかりません)。日本語化などもできるようです。


実際の手順

インストールが終わったらIrfanViewを立ち上げます。そこで、メニューから「ファイル」「一括変換/名前の変更」を選びます。

IMG_1226

次に、温度を読み取りたいcr2ファイルが入っているフォルダを選択し、cr2ファイルを選択し、真ん中少し下の「追加」を推します。左上の「一括ファイル名変更」を選択しておきます。

左の真ん中少し上の「ファイル名パターン」のところに例えば、

dark_date$E36867_tv$E33434_iso$E34855_tc$E47.cr2

と入力します。tcの後の$47が温度になります。

IMG_1230

これは各自好みの設定にしてください。番号が何を表すかはヘルプの「Text/Pattern Option」を見るといろいろ書いてます。このページはヘルプの「検索」メニューのところで「temperature」などと打ってやると出てきます。ただしこのText/Pattern Optionのページ、日本語版のヘルプファイルには入っていないようです。もし日本化してしまった場合に情報を詳しく知りたければ、言語を一旦英語に戻してください。

最後に、左下の「一括処理開始」を押すと、名前がルール通りに付け替えられたファイルが、元のファイルからコピーされて保存されます。

IMG_1232

ファイル名を見ると、きちんと温度情報が(この場合24℃と)入っていますね。


注意

でも一つ注意です。この温度ですが、(これもTKさん情報ですが、)
  • この温度値が何なのかを公式には謳っていない。(現時点明確な文書は無くSDKに含まれてない)
  • この温度は画像センサー温度ではなくDIGICチップ内での温度の可能性があり、その動作由来を反映してしまっている可能性がある。
  • この温度センサーは、露出時間に伴う画像センサーの発熱変化を拾えていないように見える。
  • ゆえにDSLRでダークライブラリを使用することは、そもそも最適ではない可能性が高い。
  • 信頼性の低い情報を使用し近似を試みるより、その場でダークを生成することで最高の精度が達成される。
という情報が議論されているようです。なので、必ずしも正しいとは思わない方がいいかもしれません。


まとめ

とにかくこれで冷蔵庫もしくは冷凍庫でのダークフレーム撮影がカメラ単体でできるようになり、かなり楽になりました。温度は後からまとめてみることができます。

多少実際のセンサー温度とは違いがあるかもしれませんが、ダークフレーム撮影時はそれほど急激に温度が変わるわけでもないですし、どうせ温度制御はできないので何枚かの温度の違うフレームをスタックすることになります。なので(少なくとも私は)実用上は十分かと思って使うことにします。