星表を用いた歪曲補正の方法

現在、手元には焦点距離250 mm前後の鏡筒がFS-60CB (レデューサー焦点), RedCat 51, RedCat 51 II と3台あります。フォーサーズの冷却CMOSもせっかく3台ありますので、これらのフル活用して一つの対象を撮影してみたいと思います。ここで問題になるのが光学系の違いによる歪曲の違いです。Fig. 1は7月の撮影で撮影した画像で、RGB: RedCat 51 + SV405CC, OIII: RedCat 51 II + ASI294MM, Ha: FS-60CB + ASI294MC の組み合わせで撮影した画像について、丹羽さんのブログに記載されている方法を使って、(R+Ha)(G+OIII)(B+OIII)の疑似カラー合成を行ったものです。Fig. 1は歪曲の目立つ周辺部の拡大となっており、星像がRだけずれているのは、FS-60CBで撮影したHa画像の歪曲がRedCat 51と異なっており、RチャンネルにHaを添加したことで両者の位置ずれが発生してしまったことに由来しています。今回は、PixInsightを用いて、このように歪曲が異なる画像を合成できるようにするための歪曲補正の方法について説明します。

Fig. 1 歪曲によりRチャンネルが位置ずれを起こしている画像の例

PixInsightを用いた歪曲補正の方法

歪曲補正の方法は大まかに説明すると「歪曲のないリファレンス画像を用意して、リファレンス画像に合うように撮影画像を位置合わせする」という操作になります。手順としては下記のようになります。

  1. 撮影画像をImageSolverスクリプトによりplate solveし、撮影画像の歪曲モデルを作成する。
  2. Catalog Star Generator により星表からリファレンス画像を作成する。これが「歪曲のないリファレンス画像」となる。
  3. 2.で作成したリファレンス画像を用いて、StarAlignmentにより撮影画像を位置合わせする。
  4. 合成するすべての画像について、1., 3.の操作を繰り返す(リファレンス画像は2. で生成したものを使う)。

歪曲モデルの作成: ImageSolverの設定

歪曲モデルとは、歪: 撮影画像と星表カタログに記載されている座標(歪曲がない場合の座標)とのずれ量を記録したものです。こちらの歪曲モデルと、歪曲のないリファレンス画像の2点を使用し、二次元のスプライン曲線によって画像を変形することで、歪曲補正が可能となります。なお、歪曲モデルはcsv形式で出力され、ファイルの中身はFig. 2のようになっています。1行目、2行目はピクセルのx, y座標を、3行目、4行目はx, y方向のずれ量を表しているものと思われます(筆者の推測です)。3行目と4行目のプロットを作成してみると、歪曲収差を連想させるような糸巻型の形状をしていることから、上記のように推測しています。

Fig. 2 歪曲モデルの例

歪曲モデルを作成するために、ImageSolverの設定を行います。”Image Parameters”は各自の光学系や撮影した対象により異なりますので、適切な値を入れてください。Pixinsight のソルバーは初期パラメータに敏感で、パラメータが適切でないと解決に失敗することがよくあります。そのような場合は、Astrometry.netのブラインドソルバーが便利です。こちらで事前に撮影画像のパラメータを取得しておき、それを初期値としてImageSolverに入力すると、解決が成功するはずです。ここでポイントとなるのはFig. 3の赤枠で囲った箇所となります。

  1. Limit magnitude: 星表の座標を取得する星の限界等級です。等級を上げるほど暗い星の座標を取得するので、歪を計算する点が増え、より精度の高い歪曲モデルを得ることができます。
  2. Distortion Correction: “Distortion Correction”, “Generate distortion model”にチェックを入れます。これで歪曲モデルがcsv形式で出力されるようになります。また、”Show distortion map”にチェックを入れることで、歪曲モデルのプロットがウィンドウに出力されます(Fig. 4)。これはおそらくFig. 2と同様の内容をプロットしたものと思われます。
Fig. 3 ImageSolverの設定
Fig. 4 Distortion mapの例

スクリプトを実行すると、plate solveが完了したのち、歪曲モデルの作成が始まります。この時の注意として、歪の計算結果が収束しているかどうかを確認します。Fig. 5のように、実行中のコンソール画面に、”Distortion correction: Convergence reached after — iterations.”と表示されていれば、歪の計算結果が収束していることを意味します。収束せずに計算が失敗している場合は赤文字でエラーメッセージが出力されますので、その場合は”Advanced Parameters”に記載されているplate solveのパラメータを変えるとうまくいくかもしれません(光学系や撮影条件などにより変わってくるため、パラメータの適切な値については説明を割愛します)。

Fig. 5 歪の計算結果が収束したことを示すコンソール画面

続いて、星表から歪曲のないリファレンス画像が生成され、歪曲モデルの作成が行われます(Fig. 6)。歪曲モデルの作成は反復計算により行われるようで、おそらく2次元スプライン曲線のパラメータを変更しながら、撮影画像をフィッティングしたときの残差が最小になるように最適化を行っているものと思われます。計算により得られた歪曲モデルの評価結果はコンソール画面内で”Score”として表示され、この値が大きいほど歪曲モデルが高精度であることを意味しています。前述の通り、検出される星像が多いほど歪曲モデルの精度が上がるため、limiting magnitudeの値を大きくすると”Score”の値も大きくなりました。得られた歪曲モデルについても、limiting magnitude の値を”Auto”にした場合と”18″にした場合で、結果が変わることを確認しています(Fig. 7)。”Auto”の場合は歪が過小に評価されており、歪曲補正が不十分でしたが、”18″に変更することで適切な歪曲補正が行われました。

Fig. 6 歪曲モデルの作成
Fig. 7 limiting magnitudeの値を変えた場合の歪曲モデルの差異 (左: “Auto”, 右: “18”)

歪曲モデルの作成が完了すると、Fig. 8のようにplate solveの結果が一覧表として出力されます。これらの値は後程使います。

Fig. 8 ImageSolverの完了

リファレンス画像の生成: Catalog Star Generatorの設定

続いてリファレンス画像の生成を行います(Fig. 9)。ここでもポイントがあり、”Use user defined geometry”にチェックを入れるようにしてください。”Use active image geometry”にチェックを入れた場合は、前項で得られた歪曲の結果をリファレンス画像の生成に使用するようで、本来得たい「歪曲のないリファレンス画像」が得られなくなってしまいます。面倒ですが、前項で得られた座標や分解能[arcsec/px]の情報を入力し、リファレンス画像を生成します。また、”Maximum magnitude”については、前項と同様、位置合わせが行われる点を少しでも多くするため、できるだけ高い値(今回は”17″)にします。設定が終わったらスクリプトを実行し、リファレンス画像を生成します(Fig. 10)。

Fig. 9 Catalog Star Generatorの設定
Fig. 10 生成されたリファレンス画像

歪曲補正: StarAlignmentの設定

最後に、StarAlignmentを実行し、位置合わせと歪曲補正を行います(Fig. 11)。ポイントは次の通りです。

  1. Reference image: 前項で作成したリファレンス画像を指定します。
  2. Distortion model: 作成した歪曲モデルを指定します。
  3. Registration model: “Thin Plate Splines”を指定し、”Distortion correction” “Local distortion”にチェックを入れます。

位置合わせしたい画像を指定したら、実行します。このときも歪の計算結果が収束していることを確認します(Fig. 12, Local distortionは結果が収束せずに失敗していますが、最終結果を見る限り問題はありませんでした)。

Fig. 11 StarAlignmentの設定
Fig. 12 歪の計算結果を示すコンソール画面

結果

ここまでの手順で歪曲補正を行った画像について、Fig. 1と同様の疑似カラー合成を行ったものをFig. 13に示します。Fig. 1で見られていたRの位置ずれは解消していることがわかります。これで今後も歪曲の異なる複数の鏡筒を有効活用することができそうです。

Fig. 13 補正結果 (左: 補正前、右: 補正後)

謝辞

こちらの記事で紹介したパラメータに行き着くまでには試行錯誤があり、なかなか歪曲補正がうまくいかずに悩んでいました。そのような中、Uchanさんには、歪曲補正の方法やパラメータについてアドバイスをいただきました。実際に私のデータを使って歪曲補正を行っていただき、私が実施した結果との差異を比較する中で、パラメータの違いに気づき、結果的に歪曲補正に成功することができました。この場を借りてお礼申し上げます。

コメントを残す

メールアドレスが公開されることはありません。