diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stwcs/distortion/models.py | 13 | ||||
-rw-r--r-- | lib/stwcs/updatewcs/makewcs.py | 4 |
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/stwcs/distortion/models.py b/lib/stwcs/distortion/models.py index 96d5d72..db48a9f 100644 --- a/lib/stwcs/distortion/models.py +++ b/lib/stwcs/distortion/models.py @@ -63,7 +63,7 @@ class GeometryModel: self.pscale = 1.0 - def shift(self,cx,cy,xs,ys): + def shift(self, xs, ys): """ Shift reference position of coefficients to new center where (xs,ys) = old-reference-position - subarray/image center. @@ -72,8 +72,8 @@ class GeometryModel: to the reference position of the chip. """ - _cxs = np.zeros(shape=cx.shape,dtype=cx.dtype) - _cys = np.zeros(shape=cy.shape,dtype=cy.dtype) + _cxs = np.zeros(shape=self.cx.shape,dtype=self.cx.dtype) + _cys = np.zeros(shape=self.cy.shape,dtype=self.cy.dtype) _k = self.norder + 1 # loop over each input coefficient for m in xrange(_k): @@ -86,9 +86,10 @@ class GeometryModel: _jlist = range(n, i - (m-n)+1) # sum from n to i-(m-n) for j in _jlist: - _cxs[m,n] += cx[i,j]*combin(j,n)*combin((i-j),(m-n))*pow(xs,(j-n))*pow(ys,((i-j)-(m-n))) - _cys[m,n] += cy[i,j]*combin(j,n)*combin((i-j),(m-n))*pow(xs,(j-n))*pow(ys,((i-j)-(m-n))) - return _cxs,_cys + _cxs[m,n] += self.cx[i,j]*combin(j,n)*combin((i-j),(m-n))*pow(xs,(j-n))*pow(ys,((i-j)-(m-n))) + _cys[m,n] += self.cy[i,j]*combin(j,n)*combin((i-j),(m-n))*pow(xs,(j-n))*pow(ys,((i-j)-(m-n))) + self.cx = _cxs.copy() + self.cy = _cys.copy() def convert(self, tmpname, xref=None,yref=None,delta=yes): """ diff --git a/lib/stwcs/updatewcs/makewcs.py b/lib/stwcs/updatewcs/makewcs.py index 42bd3e6..0946b26 100644 --- a/lib/stwcs/updatewcs/makewcs.py +++ b/lib/stwcs/updatewcs/makewcs.py @@ -73,7 +73,7 @@ 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'] - ext_wcs.idcmodel.cx, ext_wcs.idcmodel.cy = ext_wcs.idcmodel.shift(ext_wcs.idcmodel.cx,ext_wcs.idcmodel.cy,offsetx,offsety) + ext_wcs.idcmodel.shift(offsetx,offsety) fx, fy = ext_wcs.idcmodel.cx, ext_wcs.idcmodel.cy @@ -142,7 +142,7 @@ class MakeWCS(object): 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) + ref_wcs.idcmodel.shift(offsetx,offsety) rfx, rfy = ref_wcs.idcmodel.cx, ref_wcs.idcmodel.cy |