From b9c93b15c27c7b9fd2b0e19a56741498646d3444 Mon Sep 17 00:00:00 2001 From: William Joye Date: Fri, 1 Dec 2017 13:02:12 -0500 Subject: update AST WCS --- tksao/frame/fitsimage.C | 66 ++++++++++++++++++++----------------------------- 1 file changed, 27 insertions(+), 39 deletions(-) diff --git a/tksao/frame/fitsimage.C b/tksao/frame/fitsimage.C index 91ed7d0..88a64d1 100644 --- a/tksao/frame/fitsimage.C +++ b/tksao/frame/fitsimage.C @@ -1483,12 +1483,12 @@ void FitsImage::match(const char* xxname1, const char* yyname1, Vector* in1 = new Vector[nxx1]; Vector* out1 = new Vector[nxx1]; for (int ii=0; ii=0 && ast_ && ast_[ss]) { + Vector in = vv; if (wcsIsASkyFrame(ast_[ss])) { setWCSSkyFrame(ast_[ss],sky); - Vector out = wcsTran(ast_[ss], degToRad(in), 0); + in = degToRad(vv); + Vector out = wcsTran(ast_[ss], in, 0); if (astOK && checkWCS(out)) return out; } @@ -3326,7 +3328,7 @@ Vector FitsImage::wcs2pix(const Vector& vv, Coord::CoordSystem sys, Vector in = vv; if (wcsIsASkyFrame(newast_)) - in *= M_PI/180.; + in = degToRad(vv); Vector out = wcsTran(newast_, in, 0); if (astOK && checkWCS(out)) @@ -3348,7 +3350,7 @@ Vector3d FitsImage::wcs2pix(const Vector3d& vv, Coord::CoordSystem sys, Vector3d in = vv; if (wcsIsASkyFrame(newast_)) - in *= M_PI/180.; + in = degToRad(vv); Vector3d out = wcsTran(newast_, in, 0); if (astOK && checkWCS(out)) @@ -3360,7 +3362,7 @@ Vector3d FitsImage::wcs2pix(const Vector3d& vv, Coord::CoordSystem sys, #endif #ifndef NEWWCS -double FitsImage::getWCSDist(Vector aa, Vector bb, Coord::CoordSystem sys) +double FitsImage::getWCSDist(Vector vv1, Vector vv2, Coord::CoordSystem sys) { int ss = sys-Coord::WCS; if (!(ss>=0 && ast_ && ast_[ss])) @@ -3368,19 +3370,12 @@ double FitsImage::getWCSDist(Vector aa, Vector bb, Coord::CoordSystem sys) astClearStatus; // just to make sure - double rr=0; - if (wcsIsASkyFrame(ast_[ss])) { - aa *= M_PI/180.; - bb *= M_PI/180.; - rr = wcsDistance(ast_[ss], aa, bb) *180./M_PI; - } - else - rr = wcsDistance(ast_[ss], aa, bb); - - return rr; + return wcsIsASkyFrame(ast_[ss]) ? + radToDeg(wcsDistance(ast_[ss], degToRad(vv1), degToRad(vv2))) : + wcsDistance(ast_[ss], vv1, vv2); } #else -double FitsImage::getWCSDist(Vector aa, Vector bb, Coord::CoordSystem sys) +double FitsImage::getWCSDist(Vector vv1, Vector vv2, Coord::CoordSystem sys) { if (!hasWCS(sys)) return 0; @@ -3388,16 +3383,9 @@ double FitsImage::getWCSDist(Vector aa, Vector bb, Coord::CoordSystem sys) astClearStatus; // just to make sure setWCSSystem(newast_,sys); - double rr=0; - if (wcsIsASkyFrame(newast_)) { - aa *= M_PI/180.; - bb *= M_PI/180.; - rr = wcsDistance(newast_, aa, bb) *180./M_PI; - } - else - rr = wcsDistance(newast_, aa, bb); - - return rr; + return wcsIsASkyFrame(newast_) ? + radToDeg(wcsDistance(newast_, degToRad(vv1), degToRad(vv2))) : + wcsDistance(newast_, vv1, vv2); } #endif -- cgit v0.12