summaryrefslogtreecommitdiff
path: root/wcsutil/headerlet.py
diff options
context:
space:
mode:
Diffstat (limited to 'wcsutil/headerlet.py')
-rw-r--r--wcsutil/headerlet.py25
1 files changed, 13 insertions, 12 deletions
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')