デジタル一眼レフを用いたRAW 画像撮影による画像データ解析入門奥村 曉
名古屋大学 太陽地球環境研究所

2012 年 9 月 27 日
CTA-Japan 全体会議

なんで突然デジカメの話なんて始めるんですか？
物理の話が苦手
デジカメが趣味
光学系の開発をするには光を当然扱う
光子検出だけではな
く画像撮影も必要
誰にでも簡単に扱えるのがデジカメ
LST での使用可能性
鏡のスポット測定
鏡の腐食の評価
ライトガイドの性能評価

デジタル一眼レフって何？

ハイアマチュアからプロまでが使う高級なデジカメ
レンズ交換が可能
レンズなしでも動作可能
レンズ口径と撮像素子の面積が大きい

RAW 画像撮影が可能
Canon EOS–1D X© kakaku.com

でもお高いんでしょう？

Canon EOS Kiss X5（本体実売 ~5 万円）

Canon EOS–1D X（ 本体実売 ~60 万円）© kakaku.com© kakaku.com

値段はピンキリ（本体価格 5〜50 万円、レンズ価格 1〜100 万円）
実験用途であれば 10 万円かからない（が、目的に応じて高くなる）

撮像素子（CCD or CMOS）の大きさの違い
色々な大きさの撮像素
Full Size
36 × 24 mm2
LST Mirror
R80% = 10 mm

子がある
大きいほど値段が高い
ある程度大きさの規格が決まっている

フルサイズ、APS-C、APS-C
23.4 × 16.7 mm2

フォーサーズの三種類が一般的
中判なら 44 × 33 mm2Four Thirds
17.3 × 13 mm2© kakaku.com

だが高い（~60 万円)
用途と値段で変わる

RAW って何？
生（なま）という意味、略語ではない
特定の規格があるわけではない
Canon の拡張子は .CR2
Nikon の拡張子は .NEF
ソフトウェアで「現像」する作業が必要（メーカーの付属ソフトや Aperture、Lightroom など）

12 bit、14 bit などで撮影された値をそのまま出力する
暗部の階調が潰れない→「裾」の解析が可能

JPEG による不可逆圧縮がない→画像劣化がない
実際の入射光量が線型に記録されている→物理量に直しやすいベイヤー配列

G1R6G11R16G21B2G7B12G17B22G3R8G13R18G23B4G9B14G19B24G5

写真は RGB の三原色

R10

ベイヤー（Bayer）配G15R20G25から構成される列で RGB が素子上に配置されている
画像解析する上では注意が必要
一般的な画像処理ソフトではピクセル間を補間する

JPEG v.s. RAW
JPEG

RAW

ベイヤー配列 が見える

データ解析をしてみる
今回の目標は、VAPEの電源 ON 時に光るLED の広がりを調べる

これ裾の部分まで解析できるようにするため、露光時間を変える

LED 以外の光を取り除く為、OFF の状態も撮影する

本日のデータ

VAPE ON

8s

4s

2s

1s0.5 s0.25 sVAPE OFF

VAPE 電源の ON（= signal）と OFF（= background）でそれぞれ撮影
露光時間を複数にし、疑似的にダイナミックレンジを稼ぐ（蛍光灯のふらつき、撮影者本人の写り込みなどあり…）

dcraw + convert で FITS にでも変換する$ dcraw -c -D -4 vape.CR2 | convert vape.fits.gz

無償のソフトで扱い易い画像形式に現像したい

dcraw
ほとんどのデジタル一眼の RAW を現像可能

PNM などの非圧縮形式に出力可能

convertUNIX 環境、Linux 環
境で広く使われているFITS へも変換可能dcraw と ImageMagick を入れる
$ curl -O http://www.cybercom.net/~dcoffin/dcraw/dcraw.c$ gcc -o dcraw -O4 dcraw.c -lm -DNODEPS$ sudo port install imagemagick ← Mac の場合$ sudo yum install ImageMagick← RHEL の場合

dcraw は dcraw.c を落としてきて gcc でコンパイルするだけ
よく意味の分からない
人は周りの人に聞きましょう
それか検索して下さい

ImageMagick は
RedHat 系の Linux であれば yum かインス
トール DVD から
Mac なら MacPorts な
どから入れる解析ツールは何を使えば良い？

好きなものを使う

CTA をやるのであれば基本は ROOT が必須（のはず）
ROOT なり Python なり、周りに相談して決める
Excel はそろそろやめましょう（画像処理は無理だし）天文の人なら、そっち系のツールで良い

自分は PyROOT + PyFITS を使うが、速度が気になる場合
は C++ と ROOT でやるまずは RAW と JPEG の違いを確認しておく
saturation

R in JPEG

8 bit250104200103150102100

Non-linear
1050002000 4000 6000 8000 10000 12000 14000 16000
R in RAW

1~13.5 bit

R の値を RAW とJPEG で比較
デジカメで JPEG として撮影すると内部で現像されてしまう
人間の眼と脳の印象に近づくように暗部を明るめに補正する
画像の場所ごとに補正の仕方は違うかもしれない
鏡のスポット形状を測定すると、裾を過大評価する可能性

複数の露光とバックグラウンドの差っ引き
ONOFF

差分（対数表示）

8秒

4秒

2秒

ON と OFF を撮影して、差分を取る
長時間露光で裾の部分を低ノイズで写す

1秒

短時間露光でピーク構造を写す

0.5 秒

実は 0.25 秒でもまだサチっているので、真面目にやるならも0.25 秒

う 1 枚くらい必要疑似的にダイナミックレンジを上げる
サチってる

8秒

裾を見る場合はピークがサチる…
ピークを見る場合は裾にノイズが…

ノイズ

0.25 秒

0.25 秒 から 8 秒まで露光を変えているので 32 倍（5 bit）稼ぐ
裾もピークも綺麗に解析できるようになった結合

ここは 0.25 秒でもサチっていたので今回は無視して下さい

後は σ や R80% を求めるなり、お好みで

補遺 A：デジタル一眼レフを実験で使う場合の注意点
一部の機種では「RAW」を謳っていても非可逆圧縮をしている場合がある（少なくとも Nikon D70）
撮影回数が十万回程度まで達するとシャッターが機械的に壊れるので、星空の連続撮影などでは注意が必要
冷却 CCD に比べるとノイズが大きいので、室温変化や本体の温度変化でノイズレベルが変わる
特に連続撮影をする場合は本体の温度がどんどん上がる
経年劣化するとホットピクセルが出てくる秒の精度までしか撮影時刻を合わせられない機種が多い

補遺 B：撮像素子の線型性

Nikon D70 の場合

Averaged Pixel Value

16000
14000

データ解析をする場合
は撮像素子の線型性が重要BG

CCD などは一般的に線R型性が良い（入射した光量に比例した値がRAW に書き込まれる）

12000
10000
8000

r2 / ndf

6000

6.759 ± 0.008285

bx083.15 ± 9.527

y4000
2000

r2 / ndf

144.2 / 46

226.9 / 54

a0r2 / ndf-18.03 ± 3.242-141.9 ± 23.87
227.7 / 45a19.21 ± 0.02962

a20.43 ± 0.03051

bx0

183.3 ± 20.25

bx0

172.5 ± 15.44

y0-16.51 ± 2.402-359.9 ± 50.56

y0-12.53 ± 1.556-301.2 ± 35.44

200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400
Light Intensity (a.u.)

線型フィットで ~1% 以下の残差に収まるはず
LED をパルスジェネレータで光らせ、発光回数を変えるなどすれば、入射光量を好きなように変えられる

補遺 C：FITS って何？

Flexible Image Transport System の略
画像データやテーブルを異なる環境でやり取りするために生まれた天文業界標準のファイル形式
観測日時などの付加情報を入れる為のヘッダーが統一されている
天空座標の情報なども付加できる

Fermi 衛星の配布データも FITS になっている
CTA でも FITS でデータが配布される予定

補遺 D：実験装置の写真は使い回せるように綺麗に撮ろう失敗したポスター用紙などを机に敷いて背景を白に卓上の蛍光灯などを複数方向から当てて影をなくす（反射に要注意）
基板の緑色を綺麗に出すには、画像ソフトで色調整するのがお勧め
歪みをなくすため、三脚をちゃんと立て望遠側で撮影する
特定の場所を目立たせるには絞り開放、全体にピントを合わせるなら絞る
照明をちゃんと当てると埃が目立ちやすいので、ダスターで掃除しておく