From 2907aea16f4f8242acfd7ac0209d3975c710a2a8 Mon Sep 17 00:00:00 2001 From: hack Date: Tue, 3 May 2011 17:35:13 +0000 Subject: This update to STWCS includes the following revisions: - add EXTVER keyword to WCSCORR table extension in 'init_wcscorr()' - revised how pad rows are defined when creating a WCSCORR table - added logic to only work with NPOLFILE and D2IMFILE related keywords in input files that have been updated to use those reference files - added logic to only delete WCS's from IMAGE extensions to avoid problems of trying to delete a WCS from a table extension git-svn-id: http://svn.stsci.edu/svn/ssb/stsci_python/stsci_python/trunk/stwcs@12710 fe389314-cf27-0410-b35b-8c050e845b92 --- wcsutil/headerlet.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'wcsutil/headerlet.py') diff --git a/wcsutil/headerlet.py b/wcsutil/headerlet.py index d4e0320..e528184 100644 --- a/wcsutil/headerlet.py +++ b/wcsutil/headerlet.py @@ -209,8 +209,7 @@ def createHeaderlet(fname, hdrname, destim=None, output=None, verbose=False): comment='Extension version')) fhdr = fobj[('SCI', e)].header.ascard - if phdukw['NPOLFILE']: - + if 'NPOLFILE' in h.keys() and phdukw['NPOLFILE']: cpdis = fhdr['CPDIS*...'] for c in range(1, len(cpdis) + 1): h.append(cpdis[c - 1]) @@ -227,7 +226,7 @@ def createHeaderlet(fname, hdrname, destim=None, output=None, verbose=False): except KeyError: pass - if phdukw['D2IMFILE']: + if 'D2IMFILE' in h.keys() and phdukw['D2IMFILE']: try: h.append(fhdr['D2IMEXT']) except KeyError: @@ -541,15 +540,17 @@ class Headerlet(pyfits.HDUList): numext = len(dest) for idx in range(numext): - self._removeD2IM(dest[idx]) - self._removeSIP(dest[idx]) - self._removeLUT(dest[idx]) - self._removePrimaryWCS(dest[idx]) - self._removeIDCCoeffs(dest[idx]) - try: - del dest[idx].header.ascard['VAFACTOR'] - except KeyError: - pass + # Only delete WCS from extensions which may have WCS keywords + if dest[idx].__dict__.has_key('_xtn') and "IMAGE" in dest[idx]._xtn: + self._removeD2IM(dest[idx]) + self._removeSIP(dest[idx]) + self._removeLUT(dest[idx]) + self._removePrimaryWCS(dest[idx]) + self._removeIDCCoeffs(dest[idx]) + try: + del dest[idx].header.ascard['VAFACTOR'] + except KeyError: + pass self._removeAltWCS(dest, ext=range(numext)) numwdvarr = countExtn(dest, 'WCSDVARR') -- cgit