diff options
author | dencheva <dencheva@stsci.edu> | 2011-08-18 17:44:43 -0400 |
---|---|---|
committer | dencheva <dencheva@stsci.edu> | 2011-08-18 17:44:43 -0400 |
commit | a077f9e3282a1c705f2a7dca7cbf61b0c5816b11 (patch) | |
tree | 769f859ab2d6e7ce7239547fb3d13bd8478b6809 | |
parent | 505bfbc59aee337a94768e6871b415a6f10ea66f (diff) | |
download | stwcs_hcf-a077f9e3282a1c705f2a7dca7cbf61b0c5816b11.tar.gz |
Coefficients from the idc table were not properly shifted when the data is taken in subarray mode.
git-svn-id: http://svn.stsci.edu/svn/ssb/stsci_python/stsci_python/trunk/stwcs@13637 fe389314-cf27-0410-b35b-8c050e845b92
-rw-r--r-- | lib/stwcs/updatewcs/makewcs.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/lib/stwcs/updatewcs/makewcs.py b/lib/stwcs/updatewcs/makewcs.py index bb86be9..42bd3e6 100644 --- a/lib/stwcs/updatewcs/makewcs.py +++ b/lib/stwcs/updatewcs/makewcs.py @@ -73,10 +73,11 @@ class MakeWCS(object): if ltv1 != 0. or ltv2 != 0.: offsetx = ext_wcs.wcs.crpix[0] - ltv1 - ext_wcs.idcmodel.refpix['XREF'] offsety = ext_wcs.wcs.crpix[1] - ltv2 - ext_wcs.idcmodel.refpix['YREF'] - fx,fy = ext_wcs.idcmodel.shift(ext_wcs.idcmodel.cx,ext_wcs.idcmodel.cy,offsetx,offsety) - else: - fx, fy = ext_wcs.idcmodel.cx, ext_wcs.idcmodel.cy - + ext_wcs.idcmodel.cx, ext_wcs.idcmodel.cy = ext_wcs.idcmodel.shift(ext_wcs.idcmodel.cx,ext_wcs.idcmodel.cy,offsetx,offsety) + + fx, fy = ext_wcs.idcmodel.cx, ext_wcs.idcmodel.cy + + ext_wcs.setPscale() tddscale = (ref_wcs.pscale/fx[1,1]) v2 = ext_wcs.idcmodel.refpix['V2REF'] + v23_corr[0,0] * tddscale v3 = ext_wcs.idcmodel.refpix['V3REF'] - v23_corr[1,0] * tddscale @@ -136,9 +137,19 @@ class MakeWCS(object): Updates the reference chip """ ltvoffx, ltvoffy = loff[0], loff[1] + ltv1 = ref_wcs.ltv1 + ltv2 = ref_wcs.ltv2 + if ref_wcs.ltv1 != 0. or ref_wcs.ltv2 != 0.: + offsetx = ref_wcs.wcs.crpix[0] - ltv1 - ref_wcs.idcmodel.refpix['XREF'] + offsety = ref_wcs.wcs.crpix[1] - ltv2 - ref_wcs.idcmodel.refpix['YREF'] + ref_wcs.idcmodel.cx, ref_wcs.idcmodel.cy = ref_wcs.idcmodel.shift(ref_wcs.idcmodel.cx,ref_wcs.idcmodel.cy,offsetx,offsety) + + rfx, rfy = ref_wcs.idcmodel.cx, ref_wcs.idcmodel.cy + + ref_wcs.setPscale() offshift = offsh dec = ref_wcs.wcs.crval[1] - tddscale = (ref_wcs.pscale/ext_wcs.idcmodel.cx[1,1]) + tddscale = (ref_wcs.pscale/ref_wcs.idcmodel.cx[1,1]) rv23 = [ref_wcs.idcmodel.refpix['V2REF'] + (rv23_corr_tdd[0,0] *tddscale), ref_wcs.idcmodel.refpix['V3REF'] - (rv23_corr_tdd[1,0] * tddscale)] # Get an approximate reference position on the sky |