貧者の赤道儀 (The Poor Man's Equatorial) - (2-a) 視点の算出からテスト書き出し

フィールドソルバ(solve-field)の動作確認

以前記事にした、


を別のアプローチでやってみようかなと。前回は、1. 撮影した赤緯などをおおよそ求め、2. Huginで複数枚を重ねあわせ、3. 画角などを追い込んでいく、という方法だった。

今回は、solve-fieldというコマンドを利用して、赤緯、画角などを、撮像枚数分正確に求め、それを元に重ね合わせが出来ないか検証する。

solve-fieldは、Astrometry.netが元のツールで、その分野ではフィールドソルバーと呼ばれるもの。写真から星らしきものを自動抽出し、恒星位置カタログと比較してくれる。ubuntuにはパッケージがあるので、インストールは簡単。本体とカタログの両方が必要。

$ sudo apt-get install astronomy.net astro-catalogs

"catalogs"のスペルが気に入らないが、ヤンキーなのでしょうがない。とまれ、コマンド一発で赤経(RA)、赤緯(Dec)に加えて画角が手に入る。

$ solve-field --overwrite DSC_3550.tif
Reading input file 1 of 1: "DSC_3550.tif"...
TIFFReadDirectory: Warning, Unknown field with tag 36867 (0x9003) encountered.
tifftopnm: writing PPM file
Read file stdin: 2006 x 3009 pixels x 1 color(s); maxval 65535
Using 16-bit output
Extracting sources...
simplexy: found 479 sources.
Solving...
Reading file "./DSC_3550.axy"...
Field 1 did not solve (index index-tycho2-19.littleendian.fits, field objects 1-10).
Field 1 did not solve (index index-tycho2-18.littleendian.fits, field objects 1-10).
Field 1 did not solve (index index-tycho2-17.littleendian.fits, field objects 1-10).
  log-odds ratio 103.252 (6.94794e+44), 14 match, 0 conflict, 61 distractors, 18 index.
  RA,Dec = (84.8174,-4.7298), pixel scale 15.3409 arcsec/pix.
  Hit/miss:   Hit/miss: ---+-+++-+---+----+-+-----+++----+--------------------+-------------------+(best)-------------------------
Field 1: solved with index index-tycho2-16.littleendian.fits.
Field 1 solved: writing to file ./DSC_3550.solved to indicate this.
Field: DSC_3550.tif
Field center: (RA,Dec) = (84.816332, -4.733977) deg.
Field center: (RA H:M:S, Dec D:M:S) = (05:39:15.920, -04:44:02.318).
Field size: 8.52563 x 12.7615 degrees
Field rotation angle: up is -178.244 degrees E of N
Creating new FITS file "./DSC_3550.new"...
Creating index object overlay plot...
Creating annotation plot...
Your field contains:
  Part of the constellation Orion (Ori)
  The star 29Ori
  The star 27Ori
  The star ηOri
  The star 31Ori
  The star Mintaka (δOri)
  The star υOri
  The star 42Ori
  The star θ1Ori
  The star θ2Ori
  The star ιOri
  The star 45Ori
  The star Alnilam (εOri)
  The star σOri
  The star 49Ori
  The star Alnitak (ζOri)
  The star Alnitak (ζOri)
  The star 51Ori
  The star Saiph (κOri)
  The star 55Ori

これによると、写真中央は赤経 05:39:15.920,赤緯 -4.733977°、画角は 8.52563° x 12.7615°、方位角は北から時計回り(東へ) -178.244°ということになる。ご丁寧にアノテーション付けて画像を作ってくれる。

10枚ほどでテストしてみる

999枚の画像をいきなり相手にすると、失敗した時に手戻りがしんどい。うまく行くかどうかわからない時は規模を小さくする。とりあえず10枚。

solve-fieldの結果はFITS形式のファイルに納められるんだが、これが良くない。良くないじゃない、分からない。perlモジュールでFITSのヘッダを読み込んで、つうことも出来たが、大袈裟すぎる。なので、標準出力に吐いてくる結果をファイルに取っておいて、vimのマクロでHuginの入力行にでっち上げた。こんな感じ。

# image lines
#-hugin  cropFactor=1.5
i w2006 h3009 f0 v8.51938 Ra0 Rb0 Rc0 Rd0 Re0 Eev-1 Er1 Eb1 r0 p-4.743981 y-74.425505 TrX0 TrY0 TrZ0 Tpy0 Tpp0 j0 a0 b0 c0 d0 e0 g0 t0 Va1 Vb0 Vc0 Vd0 Vx0 Vy0  Vm5 n"DSC_3051.tif"
#-hugin  cropFactor=1.5
i w2006 h3009 f0 v8.52187 Ra0 Rb0 Rc0 Rd0 Re0 Eev-1 Er1 Eb1 r0 p-4.742714 y-76.417419 TrX0 TrY0 TrZ0 Tpy0 Tpp0 j0 a0 b0 c0 d0 e0 g0 t0 Va1 Vb0 Vc0 Vd0 Vx0 Vy0  Vm5 n"DSC_3147.tif"
#-hugin  cropFactor=1.5
i w2006 h3009 f0 v8.52348 Ra0 Rb0 Rc0 Rd0 Re0 Eev-1 Er1 Eb1 r0 p-4.743526 y-78.415267 TrX0 TrY0 TrZ0 Tpy0 Tpp0 j0 a0 b0 c0 d0 e0 g0 t0 Va1 Vb0 Vc0 Vd0 Vx0 Vy0  Vm5 n"DSC_3243.tif"
#-hugin  cropFactor=1.5
i w2006 h3009 f0 v8.52714 Ra0 Rb0 Rc0 Rd0 Re0 Eev-1 Er1 Eb1 r0 p-4.742122 y-80.417011 TrX0 TrY0 TrZ0 Tpy0 Tpp0 j0 a0 b0 c0 d0 e0 g0 t0 Va1 Vb0 Vc0 Vd0 Vx0 Vy0  Vm5 n"DSC_3339.tif"

snip...

同一値となるはずのピッチ(あおり)がふらついてるのが気になるが、Huginで最適化せずにそのまま出力してみた。

一枚目が重ねあわせ前、二枚目がHuginの出力。揃っちゃあ居ませんね。原因はなんだろう。

  1. solve-fieldの結果を読み違えてるのか。視野中心の赤経赤緯が二度出力される。恐らく、恐らくだが、二度目の出力はWCSへマッピングするときの像の歪みのキャリブレーションが乗ってるのではないだろうか。だから歪んだのか、それとも、手前で像をキャリブレーションしないから歪んだのか、よく分からないが。
  2. 画像毎に得られた画角やピッチをそのまま使ったのが良くないのか。


とは言え、ご立派。solve-fieldさえあれば、アタマを使わずにここまで来れる訳だから。試しに、画角固定、ピッチ固定、ヨーは撮影時間間隔から算出でやってみる。

やっぱり揃わない。つうことは、撮影中にカメラが動いてるということだな。こうなると本当の原因を追求するのは難しいな。