星の写真,何のソフトで画像処理する?
星空写真・天体写真の画像処理は奥が深く,難しい。その道は,果てしなく遠い…なんつって。
星の写真に特有で必須な処理として,「スタック処理」と「フラット化」がありますね。
- スタック 何枚も写真を撮影して,それらを加算平均することにより微弱な星を含んだ写真のS/N 比を上げる処理
- フラット化 空の明るさは本来均一ですが,レンズの周辺減光や街明かりによるカブリでムラになります。これをフラットに補正すること。これをしないと,後の強調処理で写真が破綻します
これらの処理を「どのソフトで行うか」がまず最初の問題になります。
スタックやフラット化を含めた,天体写真の画像処理に特化したソフトウェアも開発/発売されているんですけどね。
- 以前よりデファクトスタンダードであった "Stella Image" …WIndows版しかないのでMacユーザーとしては手が出しづらい。それに高価。
- エキスパートの間では最近主流になりつつある "Pixinsight" …これもWindows版のみ。それに高価。そして使い方が難しそう(な気がする)。
- 汎用の画像処理ソフト Photoshop などを使う画像処理…職人芸的な知識と技術が必要。また天体写真に付きものの「スタック処理」は手作業になるのでチョー面倒。
どれもハードルが高いですね。
Pixinsight で処理されたエキスパートの作品は目を見張るような素晴らしさです。でも,そもそも僕は普通のデジタルカメラ+自作ポタ赤で撮っているので,画像処理もそこまで深入りしたくない…というか費用をかけたくないような気がします。
これまで僕は,Photoshop でスタックから仕上げまで行っていたのですが,いろいろと限界も感じていました。
- 繰り返しになるけど,スタックがとても面倒。しかも一度 tiff で書き出したものをスタックするので,ファイル容量が膨大になる
- グラデーションマスクを使ったフラット化は難しく,また恣意的な補正になりやすい
- 色調整(背景をニュートラルグレーにする)に意外と手がかかる
スタックだけなら DeepSkyStacker が使えるんですが,処理が重いしちょっとクセ強なんですよね…。
そんな中,Siril というフリーの天体写真ソフトがあることを知りました(また GraXpert というソフトも知りました。こちらは別記事で取り上げます)。Mac版もあるのでさっそく試してみました。
すると,おおっ,これは使えるぞ!という感触を得たので,紹介します。
Pixinsight を使うガチ勢には需要がないと思うけど,ゆるく星空写真を撮る人には役に立つかな?
- 星の写真,何のソフトで画像処理する?
- Siril のダウンロードとインストール
- Siril による画像処理…スタッキングとフラット化
- Siril による画像処理…ストレッチ(星雲の強調)
- もうちょっとやってみよう…逆たたみ込み,彩度調整など
- 画像の保存と書き出し
- 作業がすんだら
- 他の例もいくつか
- まとめ
- おわりに
Siril のダウンロードとインストール
Siril はフリーの天体写真処理ソフトで,スタッキングからフラット化,さらに強調処理(ストレッチ)やノイズリダクションなど,一連の処理を行うことができます。これ一本で星空写真の画像処理は,ほぼ完結できるかと思います。
ダウンロードとインストール
Siril は以下のサイトからダウンロードできます。Mac版の他に,Windows版,Linux版もあります。
Mac版はディスクイメージがダウンロードされるのでそれを開いて,あとは指示通りにインストールします。普通にやれば「Application」フォルダに Siril がインストールされるはずです。
スクリプトもダウンロードします
このソフトは基本的にインストールしただけで使えるのですが,こちら ("Preprocessing" の中) から以下のスクリプトもダウンロードしておきます
- OSC_Preprocessing_WithoutFlat.ssf
- OSC_Preprocessing_WithoutDBF.ssf
1 はフラットフレームを撮影していない場合に,スタックに使うスクリプト。2 はダークフレーム,バイアスフレーム,フラットフレームを撮影していない場合に使うスクリプトです*1。
僕自身はフラットフレームを撮影しない場合が多いので(なかなか上手く撮れません…),これらのスクリプトを使うことになりますかね。
これらのスクリプトは適当なところ(僕はApplication フォルダの中)に「Siril_Downloaded_Scripts」などの名前のフォルダを作って,その中に入れておきます。
- - - -
*1 "OSC" は One Shot Color の略で,ワンショットでカラー画像を得るカメラ…つまり通常のデジタルカメラの画像にはこれを用います
スクリプトの場所を指定しておきます
次にスクリプトの場所を指定しておきます。Siril を立ち上げると以下のようなウインドウが開くので,右上のハンバーガーメニューから「環境設定」に入ります。
開いた小ウインドウで「スクリプト」を選び,「スクリプト保存ディレクトリー」に,先ほどダウンロードしたスクリプトの保存場所(ここでは /Applications/Siril_Downloaded_Scripts)を打ち込んで「Apply」をクリック。
これで Siril がスクリプトを認識できるようになりました。
作業フォルダを作ります
次に画像処理に使うファイルの置き場所を作ります。Mac版の Siril の場合,デフォルトの作業ディレクトリは「ピクチャ」フォルダです(変更することもできます)。
そこでピクチャフォルダの中に,以下のフォルダを作ります。
- lights
- darks
- flats
- biases
フォルダの名前は,複数形の「s」を忘れると上手く動かないので注意。またフラットフレーム,バイアスフレームを使わない場合は "flats", "biases" は作らなくてもOKです。ダークフレームも用いないなら "darks" もいりません。
以上で準備完了です。それではさっそく使ってみましょう。
Siril による画像処理…スタッキングとフラット化
それではSiril による画像処理をやってみましょう。まず最初の関門となる,スタッキングとフラット化です。
ファイルの準備
今回は3年前に伊豆で撮影したアンドロメダ銀河の写真を処理してみたいと思います。ライトフレームのみ7枚です。
まず撮影した画像ファイル(RAWファイルそのまま)を "lights" フォルダに入れます。
もしダークフレームやフラットフレームも撮影している場合は,それぞれ対応するフォルダに入れます。
これで準備完了です。
次にスタッキングです
次はスタッキング。フォトショップで手作業でやると,チョーめんどくさいところですね。さて Siril だとどうでしょう。
Siril を立ち上げます。そして画面上の「スクリプト」をクリック。いくつかのメニューが出てきますが,今回はライトフレームのみなので「OSC_Preprocessing_WithoutDBF」を選択します。
すると「手でやった方がいいかもよ〜」なんて言ってきますが,気にせず「Run Script」をクリックします。
これでスタッキング処理が始まります。
Siril ウインドウの右側に途中経過を示す文字列が流れていきますが,スタックが終わると「スクリプトの実行を無事に終了」と表示されます。
スタック処理は非常に速く,7枚のlight 画像で,約20秒で終わりました (M2 MacBook Air 使用)*2。
- - - -
*2 DeepSkyStacker のあの重さは何だったんだ…ってなります
スタックしたファイルを開きます
スタッキング後の画像は,自動的に表示されないのでこれを開く必要があります。
画面左上の「開く」ボタンをクリックすると,作業ディレクトリ(ここでは「ピクチャ」フォルダ)の中身が表示されると思います。スタッキング後の画像は,この中に「result.fit」という名前で格納されています。これを選択して「開く」。
ちなみに.fit というのは見慣れない拡張子ですが,天体写真の標準フォーマット fits 形式の画像形式です。RGB各チャンネルを32ビットで取り扱うことができるので,強い強調処理をしても滑らかな階調を保持することができます。
さて,スタック後の画像を開くと…
何やら暗い画像が出てきます。ここで画面中央下の「線形」と書いてあるボタンをクリックし,出てくるメニューから「自動イコライゼーション」を選びます。するとこうなります。
対象 (M31) が写ってはいますが,緑色の絵が出てきてびっくりします。これはデジタルカメラのセンサー(ベイヤー配列)では緑の画素が,赤,青の2倍あるからです。
色補正
このままでは写真として使えませんから,まず色補正を行います。画面上の「画像処理」から「色補正」を選びます。すると「色補正…」と「フォトメトリック色補正」の2つのメニューが現れます。
今回は「フォトメトリック色補正」を使ってみます。
これは撮影対象の天体(星雲など)の色を,データベース(スペクトルデータ)に合わせて補正するものです*3。
フォトメトリック色補正を選ぶと↓このような小ウインドウが開きます。まず写真上でM31の周りをざっくり選択して,このウインドウで
虫眼鏡マークのところに,対象の天体名(ここではM31)を入力します(①)。続いて②,③のところに,それぞれ用いたレンズの焦点距離およびセンサーの画素ピッチ (μm 単位) を入力します*4。
これらの入力が終わったら,「Find」ボタンを押します(④)。Siril が上手く対象を見つけてくれれば,天体の写真上での座標とデータベース名(ここでは Simbad)が表示されます。最後に「OK」を押すと…
大体これで良さげな色になるはずです。うまいことできてますね。
このまま次に行ってもいいのですが,「グリーンノイズの補正」も行なっておきます。蛍光灯のカブリは緑色になるし,緑色の天体はありませんので,これを補正するのです*5。
「画像処理」から「グリーンノイズを除く…」を選択,とりあえずパラメータはデフォルトのままで「Apply」。これで画像の緑カブリが無くなるのがわかると思います。
- - - -
*3 「写真の色をデータベースにある天体の色に合わせる」という方法に対して「えっ?」となるかもしれませんね (よくわかります)。でもこれで背景の色がニュートラルグレーになっているので,まあヨシとします。
*4 例えばセンサーサイズが 23.5 x 13.6 mm,画素数が 6000 x 4000 の場合,画素ピッチ (μm) は で求められます。
*5 SNCR という手法を用いています。詳細はパス
いよいよフラット化です
さていよいよフラット化ですが,これに先立ってクロップを行います。星の写真をスタックした場合,必ず写真の端がズレますから,写真の端をカットしておかないとフラット化がうまくいかないのです。
「画像処理」>「幾何」>「Rotate & Crop」と進みます。写真の周りの赤枠を適当に動かして「Apply」 (ここでは結構ガッツリクロップしています)。
次にいよいよフラット化です。「画像処理」>「Backgroud Extraction…」に入ります。すると以下のようなウインドウが開きます。
「Interpolation」はデフォルトの RBF のまま,各種パラメータもとりあえずデフォルトのままとします。そしてウインドウ中央の「Add dither」にチェックを入れて「生成」ボタンを押します。
すると,上のようにグリッドポイントが表示されます。これらの点におけるバックグラウンドの明るさがフラットになるように計算してくれるのです。グリッドポイントは一応星雲を避けていますが(星雲まで引いちゃうと何も写らなくなるからね),左クリックで追加したり,右クリックで消すこともできます。
今回デフォルトでは,銀河の淡いところにもグリッドポイントが置かれていたので,銀河の周りのグリッドポイントをいくつか消しておきました。
「Compute Background」をクリックします。するとフラット化のプレビューが表示されるので,良さそうなら「Apply」ボタンを押します。
背景がフラットになりました。スタックとフラット化,この2つがこんなに簡単に行えるなんて,何てありがたいんでしょうか (^◡^)。
Siril による画像処理…ストレッチ(星雲の強調)
フラット化まで終わったら,強調処理を行います。好みによっては,ここでファイルを書き出してPhotoshopなどに渡し,そちらで画像処理をするのもアリです。今回は続いて Siril の上で強調処理(ストレッチ)を行ってみます。
ヒストグラムによるストレッチ
さて現在の画面は,元画像をオートストレッチした状態で表示されているものです。これを元画像にちゃんと適用しましょう。
画面下の「自動イコライゼーション」をクリック,出てくるメニューから「線形」を選びます。
すると再び暗い写真に戻ると思います。
この状態で,「画像処理」>「ヒストグラム変換…」と進みます。現れたウインドウで,右の方にある「Auto Stretch」ボタン(歯車の形のボタン)を押すと…
これでオートストレッチの効果が,元画像に反映されました。
またヒストグラムには,2つの△マークがあるので,お好みでこれを動かして効果を変えることもできます。
Arcsinh 変換
強調処理はこれで終わりにしてもいいんですが,もう一つ,Arcsinh 変換をやってみましょう。トーンカーブをArcsinh 型 (逆双曲線型)にすることで,淡いところを浮かび上がらせる効果があります。
「画像処理」>「Arcsinh 変換」と進み,Stretch Factor と Black Point の値を適当に動かします。Stretch Factor を上げると淡い部分が浮かび上がってきます。またBlack Point の値を上げると黒が引き締まってきます。ちょうどいいところで「Apply」。
銀河がよりクッキリしましたかね。
お好みで「画像処理」の中にある「Generalised Hyperboric Stretch Transformations」などを適用するのもアリです。
もうちょっとやってみよう…逆たたみ込み,彩度調整など
逆たたみ込み(デコンボリューション)
次に逆たたみ込み(デコンボリューション)もやっておきましょう。これは星像をよりシャープにし,星雲などの微細構造をあぶり出す操作です。
星の写真を理想的に撮影することができれば,その像は写真の上で1ピクセルの点像に写るはずです。けれどもレンズの収差,ガイドエラー,装置の振動,気流の影響などによって像は乱れ,ある程度の広がりを持ったものになります。
ここで像を乱す要素を関数 とし,理想的な星像を とすると,写真上の星像 は以下のように表すことができます。
もし の逆関数 を何らかの形で推定し, に対して適用することができれば,写真の星像は理想的なものに近づき,星雲などの構造もより微細に現れることになりますね。
逆たたみ込みは,この逆関数 を統計的手法などによって推定しようというものです。
「画像処理」>「逆たたみ込み…」に入り,現れたウインドウで「Generate PSF」をクリック。
「PSF Preview」(星像)が表示されたら「Apply」(処理に少し時間がかかります)。
逆たたみ込みを適用した後がこれ↑ 気持ちシャープになりましたかね。銀河の暗黒帯も,よりクッキリしました。
彩度調整
次に画像の彩度を上げてみます。本来天体はカラーバリエーションに富んだものですが,光が淡いために写真の上では彩度が低くなりがちですからね。
「画像処理」>「彩度…」に入って,パラメータを適度にいじって「Apply」。
ノイズリダクション
Siril にはノイズリダクション機能もあります。「画像処理」>「Noise Reduction…」。
ただ今回はノイズリダクションはかけないでおきました。デノイズ処理をしたところ銀河の渦巻き構造がのっぺりする感じだったので。
画像の保存と書き出し
画像の保存
Siril による画像処理は,以上でだいたい終わりです。右上の方の「保存」ボタンを押すと,こうして得た画像が fits ファイルとして保存されます。
fits ファイルは再びSirilで開いて編集することができますし,他の天体写真ソフトウェア(例えば GraXpert ← 別記事で取り上げます)で開くこともできます。
なお,この画像の名前は「results.fit」になっていますが,Siril で他の写真を処理すると同じ名前で上書きされてしまうので,保存したのちに名前を変えておくとよいでしょう。
tiff ファイルに書き出し
また「保存」ボタンの右のダウンロードマークをクリックすると,画像をtiff,Jpeg などの一般的な画像フォーマットで書き出すことができます。
フィルに名前をつけて,ファイル形式を指定します。tiff の場合は次にビット数を聞いてくるので,16 bitを指定して保存。
これをフォトショップなどで開いて,仕上げの調整をすれば完成です。
さて,結果を以前 Photoshop だけで処理したものと比べてみましょう。
Photoshop だけで処理したものがこちら↓です。
Siril を使ったほうが銀河の構造がクッキリ出ていて立体感がありますね。
またスタックやフラット化などがずっと楽ですし,処理に再現性がある点でも,こちらの方が良いですね!
作業がすんだら
一連の作業が終わったら,"lights","darks" などのフォルダの中のファイルを,元の場所に戻しておきます。
また「ピクチャ」フォルダの中に「Process」というフォルダができて,その中に作業途中のデータがたくさん溜まっています。このフォルダはゴミ箱に捨ててOKです。けっこうファイルサイズが大きいのでね。
他の例もいくつか
以上 M31 の写真を例に操作手順を書いてきましたが,このソフトを試す意味で,他の例もいくつかやってみました。
カリフォルニア星雲 (NGC1499) とプレアデス星団 (M45)
フラット化,オートストレッチののち Arcsinh 変換を強くかけてみました。するとカリフォルニア星雲がクッキリするとともに,背景の分子雲も浮かび上がってきました。露光時間を長く取れば,分子雲をもっと炙り出すことができそうですね(この日は風が強くて,ブレずに写せたのが7枚しかなかったんです)。
ところでこの写真ね,微恒星も強調されてちょっとうるさいですね。Siril には Starnet 2 をビルトインできるので,星マスクを使って星がギラつくのを抑えることもできます。
すでに Starnet2 はインストールしてあるんですが,どう使うかについてはまだ試行錯誤中です(勝手がわかってきたらまた書きます)。
ペルセウス座
似たような領域ですが,35 mm (FF換算 52.5 mm) レンズを使った星座写真を Siril で処理した例です。
これは先日丹波山村で撮影したもの。赤道儀の調子が悪く,固定撮影で撮ったものを無理やりスタックしています。Siril はこんな邪道のやり方でも星の位置を合わせてくれました。
そんな方法で撮ったものなので,Arcsinh 変換は行わず控えめなストレッチで済ませています。
この程度の処理でも,スタッキングとフラット化をやってくれるこのソフトは重宝しますね。
オリオン座
背景がちゃんとフラットになっていませんが,これは撮影の途中で雲が通過したからです(汗)。
天体改造していない通常のカメラで撮ったものですが,Arcsinh ストレッチを使って赤い星雲をある程度出すことができました。「魔女の横顔」こと IC2118 もうっすら見えています。
なおこの写真は色補正の時に,「フォトメトリック色補正」が上手くできませんでした。オリオン大星雲 (M42) も燃える木星雲 (NGC2024) も,はたまた馬頭星雲 (IC434) も小さすぎてうまく認識してくれなかったようです。
それで「フォトメトリック」じゃない方の「色補正」で,暗いところと明るいところを指定して補正しています。
まとめ
以上,Siril の紹介でした。フリーソフトでここまでできて素晴らしいと思います。
特にいいと思ったのは
- スタッキングが簡単に,高速に行えること
- フラット化が正確に行えること
- Arcsinh ストレッチが使えること
でしょうかね。
地上景が一緒に写っている「星景写真」では,Siril によるフラット化は使えないですね。この場合どうするかはちょっと考え中です。
ただ「星景」の場合,天の川が対象となることが多いから,そんなに強い強調は必要ない場合が多いですかね。だからPhotoshopによる処理でも十分かもしれません。まあ,フラットフレームをちゃんと撮影すれば問題ないわけですが。
今回はMac版で作例を示しましたが,Windows版でも基本的には同じやり方でできると思います。
おわりに
このお正月が新月期だったので,本当は撮影に出掛けてその画像を使って記事を書きたかったんですけどね。仕事が立て込んで出かけることができませんでした…。次の新月期に撮影できたら,またいろいろと試してみたいと思います。
(化学徒としては Siril という名前でケイ素置換基が思い浮かぶのは内緒)
こちらも見てね