diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-09-05 20:28:32 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-09-05 20:28:32 (GMT) |
commit | 9e8d8f8c877066dbda78ed8b6c991fd3947d7e32 (patch) | |
tree | ad20592efcd21f678740d346e169b710aa9fb577 | |
parent | ce22e6a1f37e5db1dd6cfc4fefdf4d9ab2cab036 (diff) | |
download | blt-9e8d8f8c877066dbda78ed8b6c991fd3947d7e32.zip blt-9e8d8f8c877066dbda78ed8b6c991fd3947d7e32.tar.gz blt-9e8d8f8c877066dbda78ed8b6c991fd3947d7e32.tar.bz2 |
new AST support
-rw-r--r-- | tksao/frame/fitsimage.C | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tksao/frame/fitsimage.C b/tksao/frame/fitsimage.C index ae73e0e..a745cfb 100644 --- a/tksao/frame/fitsimage.C +++ b/tksao/frame/fitsimage.C @@ -2867,6 +2867,7 @@ void FitsImage::updatePS(Matrix3d ps) // WCS +#ifndef NEWWCS Vector FitsImage::getWCScdelt(Coord::CoordSystem sys) { if (hasWCS(sys)) { @@ -2881,6 +2882,35 @@ Vector FitsImage::getWCScdelt(Coord::CoordSystem sys) else return Vector(); } +#else +Vector FitsImage::getWCScdelt(Coord::CoordSystem sys) +{ + int ss = sys-Coord::WCS; + if (!(ss>=0 && ast_ && ast_[ss])) + return Vector(); + + astClearStatus; // just to make sure + astBegin; // start memory management + + Vector cc = center(); + Vector wcc; + astTran2(ast_[ss], 1, cc.v, cc.v+1, 1, wcc.v, wcc.v+1); + Vector oo = cc+Vector(1,1); + Vector woo; + astTran2(ast_[ss], 1, oo.v, oo.v+1, 1, woo.v, woo.v+1); + + double dd = astDistance(ast_[ss], wcc.v, woo.v); + astEnd; // now, clean up memory + if (dd != AST__BAD) { + if (astIsASkyFrame(astGetFrame(ast_[ss], AST__CURRENT))) + dd *= 180./M_PI; + dd /=sqrt(2); + return Vector(dd,dd); + } + + return Vector(radToDeg(dd)/sqrt(2),0); +} +#endif #ifndef NEWWCS Coord::Orientation FitsImage::getWCSOrientation(Coord::CoordSystem sys, |