コンポジットスクリプト開発記録

このページは経緯台で撮影された天体写真を連続的に回転処理して加算することで赤道儀で撮られたように編集するための計算スクリプト開発記録である

目的

経緯台で撮られた写真をオイラー極を求め、回転角を割り出すことで、位置合わせを行い、コンポジット処理するスクリプトを開発する

概案

まずは、オイラー極の位置と、オイラー角を求める。
オイラー極を求めるためには、撮影している星の回転角がわかる必要がある。
これを実現するためには、星と星の位置関係は、回転の前後では変わらないという性質を利用する。
輝度の大きい3点を用意し、それをつなぐと、面を形成できる。このとき、3辺はベクトル表記できるので、回転前後のベクトルを比較し、そのベクトルが大きくずれていない時(2~3pix以下とかThresholdを決めれば良い)に回転前後の3点は同一であるとみなせる。
これが成功しない時は、輝度の2番めに大きい物から3点とる。それもダメなら...とやっていけば、辺を表すベクトルがほぼ等しい組み合わせはいつか見つかるだろう。
それらの3点について、極座標がオイラー角で回転されるという一次変換を受けた出力とみなし、逆問題をとけば良い。この時のインバージョンは簡単な一時行列式として解を持つはずである。

次に、正確に重ねあわせる方法について考える。
写真をP^2=R^2+G^2+B^2という式でPの行列に置き換えて、写真一枚のなかから、ノイズレベルより高い値を持つ領域を取り出した行列を作る。
これを撮影した全部の画像に対して行い、それぞれの領域の写真間のオイラー角だけをグリッドサーチする。グリッドサーチは、分散の最大値を取るような点を見つける。
これをすべての行列の要素に対して行えば、真のオイラー角で回転された画像を得られるだろう。

足し合わせは、先に求めたノイズレベルの2乗の逆数で重みつけを行い、スタックする。

今後の予定

コーディングするよ!