astLib-0.5.0 を使って ScaleBar を描く時の注意
python を使った天文用 plotter として大変便利な astLib ですが,scalebar の長さが違うという重要なバグがありましたのでメモしておきます.
なにが間違っているかと言うと,scalebar を描く時の終点を決めるところで,ra 方向にも角度をそのまま足してしまっているのです.dec が高いときとかは cos(dec) のファクターを考慮しないと行けない訳ですが.
というわけで,修正するためには
astLib-0.5.0/astLib/astPlots.py
の 316行目 の変更が必要です.
オリジナル:
315 northPoint=dec+p['sizeArcSec']/3600.0 316 eastPoint=ra+p['sizeArcSec']/3600.0 317 sizePix=(p['sizeArcSec']/3600.0)/self.wcs.getPixelSizeDeg()
変更後:
315 northPoint=dec+p['sizeArcSec']/3600.0 316 eastPoint=ra+p['sizeArcSec']/3600.0/math.cos(dec/180*math.pi) 317 sizePix=(p['sizeArcSec']/3600.0)/self.wcs.getPixelSizeDeg()
これで大丈夫です.他の四角 "box" や丸 "circles" は大丈夫でした.
その後インストールしているライブラリを更新するために astLib-0.5.0/ ディレクトリでルートもしくは適切な権限を持つアカウント等で
$ python setup.py install
を繰り返す必要があります.