diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-09-14 20:38:35 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-09-14 20:38:35 (GMT) |
commit | 58d291ed2083f2af11a19f2e606d426e23b7be47 (patch) | |
tree | 4b5d4d961ad75d9c6e15897fcf4e9b70908f55a3 | |
parent | fda35a7fbab46564792a2410a12d7d6e85904465 (diff) | |
download | blt-58d291ed2083f2af11a19f2e606d426e23b7be47.zip blt-58d291ed2083f2af11a19f2e606d426e23b7be47.tar.gz blt-58d291ed2083f2af11a19f2e606d426e23b7be47.tar.bz2 |
WCS: fixed a problem with calculating the rotation angle of regions with a LINEAR WCS which has been flipped
-rw-r--r-- | tksao/frame/frmap.C | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tksao/frame/frmap.C b/tksao/frame/frmap.C index 9feec03..85f05ae 100644 --- a/tksao/frame/frmap.C +++ b/tksao/frame/frmap.C @@ -21,7 +21,14 @@ double Base::mapAngleFromRef(double angle, Coord::CoordSystem sys, case Coord::AMPLIFIER: break; default: - rr += ptr->getWCSRotation(sys,sky); + if (hasWCSCel(sys)) + rr += ptr->getWCSRotation(sys,sky); + else { + Coord::Orientation oo = keyContext->fits->getWCSOrientation(sys, sky); + if (oo==Coord::XX) { + rr = -(angle + ptr->getWCSRotation(sys,sky) + M_PI); + } + } break; } @@ -43,7 +50,14 @@ double Base::mapAngleToRef(double angle, Coord::CoordSystem sys, case Coord::AMPLIFIER: break; default: - rr -= ptr->getWCSRotation(sys,sky); + if (hasWCSCel(sys)) + rr -= ptr->getWCSRotation(sys,sky); + else { + Coord::Orientation oo = keyContext->fits->getWCSOrientation(sys, sky); + if (oo==Coord::XX) { + rr = -(angle + ptr->getWCSRotation(sys,sky) + M_PI); + } + } break; } |