Ubuntu Weekly Recipe

第630回 Ubuntuで天体写真のスタッキングに挑戦する

この記事を読むのに必要な時間:およそ 3 分

シーケンスの選択

「Sequence」タブでは,使用するシーケンスを選択できます。前項のシーケンス作成を行った直後は,そのシーケンスが自動的に選択された状態となっていますので,何もする必要はありません。

もしもワーキングディレクトリ内に複数のシーケンスが作成済みの状態でSirilを起動した場合は,⁠Search sequence」をクリックすることで,過去に作成したシーケンスを選択できます。

ダーク/フラットフレームを使用した前処理

「Pre-processing」タブでは,バイアスフレーム,ダークフレーム,フラットフレームを使った画像の前処理を行います。いわゆる「ダーク減算」「フラット補正」です。ただしこれらの手順はオプションのため,補正フレームが存在しない場合や処理を行いたくない場合は,このタブをいじる必要はありません。

バイアス(オフセット)フレームとは,露出時間を0秒にした時に得られる画像のことです。露出時間が0秒であれば出力される信号も0となるはずですが,実際は様々なノイズなどにより,露光時間を0にしても画像の輝度は0になりません。バイアスフレームは,こうした光による電気信号がまったくない状態でも発生するノイズを除去するために使用します。

デジカメで長時間撮影を行っていると,センサーが熱を持ち,撮影した画像にノイズが乗ってきます。これをダークノイズと呼びます。ダークノイズはランダムに発生する高感度ノイズと異なり,カメラの個体や温度,露光時間といった条件が同じなら,規則的に発生するという特徴があります。そこで,ダークノイズのみを撮影した画像を別途用意して撮影した画像から減算することで,規則的なノイズを除去できます。このダークノイズのみを撮影した画像を,ダークフレームと呼びます※5⁠。

※5
カメラの長時間ノイズリダクション機能を有効にしていると,たとえば10秒のシャッターを切ったら,その後10秒間カメラが操作不能になってしまいます。この時カメラ内部では,シャッターを閉じた状態で露光をかけてダークフレームを取得し,ダーク減算が行われています。ダークノイズは露光時間に応じて出かたが変化するため,ダークフレームの取得には露光時間と同じだけの時間をかける必要があります。そのため露光時間と同じ時間だけ,カメラが操作不能になってしまうのです。星の光跡を撮るような場合は,カットとカットの間に空き時間ができてしまうと光跡が途切れてしまうため,カメラの長時間ノイズリダクション機能はOFFにするのが基本です。

レンズには,レンズの中心から外側へ向かうほど光量が落ちてしまうという特性があり,これを「周辺減光」と呼びます。これは主に広角レンズにおいて,写真の四隅が顕著に暗くなるという問題を引き起こします。そこで周辺減光のみを撮影した画像を用いて,周辺減光を補正するのが「フラット補正」です。この周辺減光のみを撮影した画像を,フラットフレームと呼びます。

より詳しい情報はチュートリアルを参照してください。

図6 ダークフレームは比較的簡単に用意できる上,効果も大きいため,余裕があるならば撮影しておくとよい。ただしダークノイズの出かたはその時の状況によって異なるため,必ず現地で,同時に,同条件で撮影しておく必要があることに注意

画像

画像の位置合わせ

「Registration」タブでは,各画像をどれだけシフトさせればよいのかを自動的に計算し,画像の位置合わせを行います。この際,画像そのものは変更されず,シフトパラメーターのみがシーケンス内に保存されます。

「Choose registration method」「Global Star alignment(deep-sky)」を選択してください※6⁠。これはSirilのバージョン0.9.7以降で実装された自動整列アルゴリズムで,画像内にコントロールポイントという位置合わせのためのポイントを検出し,複数の写真内でコントロールポイントを一致させることで,画像を重ね合わせます。⁠Algorithm」は画像のローテーションに使用するアルゴリズムの指定です。デフォルトの「Bicubic」で問題ないでしょう。最後に「Go register」をクリックしてください。

※6
「One Star Registration(deep-sky)」は単一の星を対象としたメソッドで,シフトのみで位置合わせを行い,回転やスケーリングを行いません。Image Pattern Alignment (planetary-full disk)は惑星の画像,Enhanced Correlation Coefficient(planetary-surfaces)は月面画像に適した方法です。

図7 Registrationタブの画面。基本的にはregistration methodを選択するだけでよい

画像

図8 画像ビューアーに検出されたコントロールポイントが表示される

画像

登録処理が完了すると,Plotタブにグラフが表示されます。ここで実際にスタッキングに使用する画像を選択できますが,今回はデフォルトのままで行うため省略します。

スタックの実行

最後に,⁠Stacking」タブで画像のスタッキングを行います。Sirilには様々なスタッキングメソッドが用意されていますが,今回は逸脱したピクセルを除外して平均的な画像を得られる「Average stacking with rejection」を使用します。⁠Rejection」ではピクセルを除外するメソッドを選択できます。今回は6枚中1枚に写り込んでしまった人工衛星を除外したいので,⁠Percentile Clipping」を選択します。閾値である「Percentile low/high」はデフォルトのまま(20%/10%)で構いません。⁠Stack this set of images」では,スタックに使用する画像を選択できます。今回は6枚すべてを使用するので「all」のままにしておきます。

「Start stacking」をクリックすると,スタッキング画像が生成されます。

図9 Stackingタブの画面。Stacking Methodsを選択したら,あとはデフォルトのままでよい

画像

スタックされた画像は「Store result in file」で指定したFITSファイルに保存されます。またRGB imageのウィンドウにはカラー画像が表示されます。RGB imageウィンドウを右クリックして「Save RGB image to JPG」を選択すると,カラー画像をJPEGとして保存できます。

図10 スタック前の画像のうちの1枚(左)と6枚をスタックした結果(右)の比較。ザラザラのノイズ感が軽減されているのがわかる

画像

おわりに

写真を合成することについては色々と意見があるかとは思いますし,フォトコンテストでは明示的に禁止されている場合も多いでしょう。とはいえ,こうした自由な加工が,デジタル化された写真の楽しみのひとつであるのは間違いありません。ぜひSirilのようなアプリケーションを活用して,お手元の写真を素敵に仕上げてみてください。

なお本記事が公開されてすぐの8月12日に,ペルセウス座流星群が極大を迎えます。こんなご時世ですのであまり遠出はできないかもしれませんが,夏休みはカメラを持って,夜空を見上げてみてはいかがでしょうか。

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。