summaryrefslogtreecommitdiff
path: root/hstwcs/__init__.py
diff options
context:
space:
mode:
authordencheva <dencheva@stsci.edu>2009-02-10 15:58:37 -0500
committerdencheva <dencheva@stsci.edu>2009-02-10 15:58:37 -0500
commit914af36db70dafd6417198634ce1e55a5a5dd8d9 (patch)
treec878658f842a9deb072ecf494076e87ac31a42bd /hstwcs/__init__.py
parentcc6eb9ab94b41a2f5ab513d21971bc6bfaa036c4 (diff)
downloadstwcs_hcf-914af36db70dafd6417198634ce1e55a5a5dd8d9.tar.gz
Modified the constructor for HSTWCS. Now it can be created given:
- a filename and extension number - fully qualified filename - a pyfits object and an extension number - if given an instrument and detctor parameters, a template HSTWCS object for that instrument will be created. git-svn-id: http://svn.stsci.edu/svn/ssb/stsci_python/development/trunk/updatewcs@7534 fe389314-cf27-0410-b35b-8c050e845b92
Diffstat (limited to 'hstwcs/__init__.py')
-rw-r--r--hstwcs/__init__.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/hstwcs/__init__.py b/hstwcs/__init__.py
index 84f6cec..dfb2e4b 100644
--- a/hstwcs/__init__.py
+++ b/hstwcs/__init__.py
@@ -75,20 +75,20 @@ def makecorr(fname, allowed_corr):
"""
f = pyfits.open(fname, mode='update')
- #Determine the reference chip and make a copy of its restored header.
+ #Determine the reference chip and create the reference HSTWCS object
nrefchip, nrefext = getNrefchip(f)
- primhdr = f[0].header
- ref_hdr = f[nrefext].header.copy()
- utils.write_archive(ref_hdr)
-
- for extn in f:
+ ref_wcs = HSTWCS(fobj=f, ext=nrefext)
+ ref_wcs.readModel(update=True,header=f[nrefext].header)
+ utils.write_archive(f[nrefext].header)
+
+ for i in range(len(f))[1:]:
# Perhaps all ext headers should be corrected (to be consistent)
+ extn = f[i]
if extn.header.has_key('extname') and extn.header['extname'].lower() == 'sci':
- ref_wcs = HSTWCS(primhdr, ref_hdr, fobj=f)
- ref_wcs.readModel(update=True, header=ref_hdr)
+ ref_wcs.restore(f[nrefext].header)
hdr = extn.header
- ext_wcs = HSTWCS(primhdr, hdr, fobj=f)
utils.write_archive(hdr)
+ ext_wcs = HSTWCS(fobj=f, ext=i)
ext_wcs.readModel(update=True,header=hdr)
for c in allowed_corr:
if c != 'DGEOCorr':
@@ -103,7 +103,6 @@ def makecorr(fname, allowed_corr):
f[1].header.update(kw, kw2update[kw])
f.close()
-
def getNrefchip(fobj):
"""
This handles the fact that WFPC2 subarray observations