diff options
-rw-r--r-- | distortion/utils.py | 7 | ||||
-rw-r--r-- | updatewcs/corrections.py | 8 | ||||
-rw-r--r-- | wcsutil/__init__.py | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/distortion/utils.py b/distortion/utils.py index 3df88c9..19cec3c 100644 --- a/distortion/utils.py +++ b/distortion/utils.py @@ -16,7 +16,7 @@ def output_wcs(list_of_wcsobj, ref_wcs=None, outwcs=None, undistort=True): min_ind = fra_dec[:,0].argmin() crval1 = (fra_dec[min_ind,0]+ (delta_fra/2.)*np.cos((fra_dec[min_ind,1]-crval2)*np.pi/180)) - crval = np.array([crval1,crval2]) + crval = np.array([crval1,crval2], dtype=np.float64) if outwcs is None: if ref_wcs == None: ref_wcs = list_of_wcsobj[0].deepcopy() @@ -36,7 +36,7 @@ def output_wcs(list_of_wcsobj, ref_wcs=None, outwcs=None, undistort=True): outwcs.naxis1 = int(np.ceil(tanpix[:,0].max() - tanpix[:,0].min())) outwcs.naxis2 = int(np.ceil(tanpix[:,1].max() - tanpix[:,1].min())) - crpix = np.array([outwcs.naxis1/2., outwcs.naxis2/2.]) + crpix = np.array([outwcs.naxis1/2., outwcs.naxis2/2.], dtype=np.float64) outwcs.wcs.crpix = crpix outwcs.wcs.set() return outwcs @@ -89,7 +89,8 @@ def undistortWCS(wcsobj): lin_wcsobj = pywcs.WCS() cd_inv = np.linalg.inv(cd_mat) - lin_wcsobj.wcs.cd = np.dot(wcsobj.wcs.cd, cd_inv) + cd = np.dot(wcsobj.wcs.cd, cd_inv).astype(np.float64) + lin_wcsobj.wcs.cd = cd lin_wcsobj.wcs.set() lin_wcsobj.orientat = arctan2(lin_wcsobj.wcs.cd[0,1],lin_wcsobj.wcs.cd[1,1]) * 180./np.pi lin_wcsobj.pscale = sqrt(lin_wcsobj.wcs.cd[0,0]**2 + lin_wcsobj.wcs.cd[1,0]**2)*3600. diff --git a/updatewcs/corrections.py b/updatewcs/corrections.py index c616e91..fea44c1 100644 --- a/updatewcs/corrections.py +++ b/updatewcs/corrections.py @@ -172,12 +172,12 @@ class CompSIP(object): if n >= m and n>=2: idcval = np.array([[cx[n,m]],[cy[n,m]]]) sipval = np.dot(imatr, idcval) - akeys1[m,n-m] = sipval[0] * ext_wcs.binned - bkeys1[m,n-m] = sipval[1] * ext_wcs.binned + akeys1[m,n-m] = sipval[0] + bkeys1[m,n-m] = sipval[1] Akey="A_%d_%d" % (m,n-m) Bkey="B_%d_%d" % (m,n-m) - kw2update[Akey] = sipval[0,0] - kw2update[Bkey] = sipval[1,0] + kw2update[Akey] = sipval[0,0] * ext_wcs.binned + kw2update[Bkey] = sipval[1,0] * ext_wcs.binned kw2update['CTYPE1'] = 'RA---TAN-SIP' kw2update['CTYPE2'] = 'DEC--TAN-SIP' return kw2update diff --git a/wcsutil/__init__.py b/wcsutil/__init__.py index ee93668..7e87fa6 100644 --- a/wcsutil/__init__.py +++ b/wcsutil/__init__.py @@ -286,7 +286,7 @@ class HSTWCS(WCS): cdl.append(card) h = pyfits.Header(cdl) - wprm = Wcsprm(str(h.ascardlist())) + wprm = Wcsprm(repr(h.ascard)) self.wcs = wprm self.setPscale() self.setOrient() |