銀河専用アノテーションツール Galaxy Annotator v0.9.4 をリリースしました。前回のエントリで予告した銀河名出力の設定機能の追加とそれに伴う仕様変更です。
leda-votable-to-galaxy.py の --resolve-order
オプションで銀河名が複数ある場合に name に出力する銀河名の優先順位を指定できるようになりました。
v0.9.3 までは HyperLeda のデータベースの objname フィールドにある値をそのまま出力していましたが、ここにはメシエ番号の名前が入っていないので、メシエ天体でも NGC ナントカで出力されてしまい、わかりにくいという問題がありました。
v0.9.4 からは、デフォルトでは --resolve-order M,NGC,IC,PGC
を指定したのと同じになります。すなわち、メシエ天体であれば「M31」のようにメシエ番号の名前を、メシエ番号がなくて NGC 番号があれば「NGC253」のように NGC 番号の名前を、NGC 番号もなくて IC 番号がある場合は「IC342」のように IC 番号の名前を、それもなければ「PGC13696」のように PGC 番号の名前を galaxies.json の name フィールドに出力します。
メシエ天体以外でも以下の点で v0.9.3 までとは挙動が変わります。
- デフォルトでは M,NGC,IC,PGC 以外のカタログの名前が出てこない(はず)
- 今まで「UGC02838(PGC13696)」のように出力されていたのが「PGC13696」になる。
- 今までと同じようにしたい場合は
--resolve-order NGC,IC
のように M と PGC 抜きの優先順位リストを指定すれば OK なはず。
- 番号の冒頭の 0 を出力しないようにした。
- 今まで「NGC0253」だったのが「NGC253」になる。
また、注意点として、v0.9.2 までの leda-get-votable.py で取得した votable.xml は使えないので、以前のデータでアノテーションをやり直す時は votable.xml の取得からやりなおす必要があります。
これは v0.9.2 までは HyperLeda から銀河の別名のフィールドを取得していなかったためです。v0.9.3 でこっそり別名のフィールドも取得するようにしたため、v0.9.3 で取得した votable.xml は大丈夫です。
また、対応する Python のバージョンが 3.6 以降になりました。これはリリースノートには書き忘れていましたが、v0.9.3 から既にそうです。文字列出力で F-string を使うようになったのが理由です。実は古いバージョンの Python での動作テストまではしていないので、python 3.10 以降くらいで使うのが安心かもしれません。