先日、テスト中に起こった問題の原因がなんともガッカリだったので書いておこうと。
KStars&Ekosのテストをしている最中、突然、solverが動かなくなりました。
症状としては、キャプチャ後、solveが始まるのですが、すぐにエラーで止まります。
エラーの出力は、
Solver failed. Try again.
って、エラーの内容が分からない。。。(^^;
何度やっても、違う空域でやってもダメ。
検索するインデックスファイルが壊れたかと入れ直してもダメ。
丸一日つぶしてテストできず、ほとほと困ってしまいました。
INDIフォーラムを見ると同じような症状で困ってる人が何人かいましたが、最新版を入れると直ったとか、入れ直すとできるようになったとか、原因追及が全くなされていなかったので結局、うやむやの解決でした。
で、それでもヒントがありました。
実際のログは、
下線部分、Reading input file 1 of 2:"" ... とありますが、実際にsolverに渡されているのは、/tmp/fitsX16251 というファイル1つのみです。
(/tmp/solution.wcs は -W オプションに掛かっているので対象ではありません)
本来なら、Reading input file 1 of 1:"/tmp/fitsX16251" ... となるのが正解です。
これは怪しい、、、
ここで、Ekos の Solver Options でsolve-fieldに渡すオプションを正しいものと比較してみましょう。
よく見ると、、、 -O の後が少し違います。
NGの方は実は -O の後にスペースが2つあります。
なんと、これが原因でした。
オプション間には余分なスペースを入れてはならないようです。。。
Ekosのバグではなく、solve-field の仕様になるんですが、ややオプションの扱いがおかしいような気もします。
[option][space][space][option]
だと、[space]の間に空名のファイル名が書かれていると認識されるようで、それが、 file 1 of 2:"" の謎の空ファイルだったようです。
スペースを1個削除したら、元通り何の問題もなくサクサクとsolvingできましたとさ。
こんなの気づくかい!!(涙
ちなみに、solveはかなりまともに動作します。
検索も数秒~数十秒で終わるので時間的負担もありませんし、鏡筒覗いてアライメントしてたことを思うと、数分で完璧に近い位置合わせができるので無くては困る機能になりそうです。
高速solveの仕組みも分かってきたので、チューニングもテストできればと。
これでようやく、実践投入第2弾へと移れます。
えー
返信削除これは気付きませんよねぇ...
えぇ、、、まったく。
削除おかげで、2日ほど悩みました。
修正箇所探して、astrometryへフィードバックしてみようかと。