summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordencheva <dencheva@stsci.edu>2011-08-18 17:44:43 -0400
committerdencheva <dencheva@stsci.edu>2011-08-18 17:44:43 -0400
commita077f9e3282a1c705f2a7dca7cbf61b0c5816b11 (patch)
tree769f859ab2d6e7ce7239547fb3d13bd8478b6809
parent505bfbc59aee337a94768e6871b415a6f10ea66f (diff)
downloadstwcs_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.py21
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