貧者の赤道儀 (The Poor Man's Equatorial) - (2-h) フィールドソルバの精度
天体写真を撮って、フィールドソルバに掛けたとき、どのくらいの精度が得られるのだろうか。これまでのような用途であれば、1ピクセル以下だったら実用上問題なさそうでは有る。そもそもそういった精度が期待できるのか考えてみる。
FITSの座標系については、下から辿って、PAPER Iを読むとよく分かる。
前回のパノラマの検証
前回のパノラマ、うまく繋がったように見えてたけど結構綱渡りだったんだろうな、と思い、検証してみることにした。
solve-fieldを実行すると結果ファイルがいろいろできるんだが、このなかに*.corrというのがある。correlationつうことだ。同定に使用した画像上の天体と天体カタログ上の天体、両方の座標が並べて表にしてくれている。field_{x,y}つうのが画像上の天体のピクセル座標、index_{x,y}がカタログ天体のピクセル座標だ。こいつらの距離が画像上でのズレになる。
大体画像一枚につき20から30くらいの天体が*.corrファイルにあるので、平均や偏差で評価できそうだ。とある画像で計算してみるとσ≒0.007だったので3σで考えても0.02ピクセルとなり充分実用的に見える。同じような検証してる人が他にも居て、
この人は精度は1/15ピクセルだと結論している。ま、コンパラブルだわ。
solve-field --verifyの効果
何らかの原因でσが大きい場合、まあ、3ピクセルとかだとパノラマにした時に具合悪いわな、何かできることはないのかと。あるそうです。一旦解いた結果ファイルをもう一回食わせてやるとよいらしい。んで、やってみた。リネームしないと怒られます。
$> cd G $> mv DSC_4395.wcs DSC_4395_.wcs $> solve-field --overwrite --verify DSC_4395_.wcs DSC_4395.tif
結果、σは1.608912e+00から8.229623e-01へ改善。へーってなもんです。毎度fv開いてちまちま計算してられないので、Gnu Rのスクリプトをでっち上げた。いや便利だわ。
require (FITSio) corrfiles <- system ("ls G/DSC_*.corr", intern=T) sd <- c () for (corrfile in corrfiles){ zz <- file (description = corrfile, open = "rb") header0 <- readFITSheader (zz) header <- readFITSheader (zz) D <- readFITSbintable (zz, header) close (zz) # str (D) # str (header) # str (parseHdr (header)) D$colNames sd <- c (sd, sd (sqrt *1 } corrfiles sd