summaryrefslogtreecommitdiff
path: root/wcsutil/altwcs.py
diff options
context:
space:
mode:
authorhack <hack@stsci.edu>2011-06-16 17:59:20 -0400
committerhack <hack@stsci.edu>2011-06-16 17:59:20 -0400
commit708b4f32ac133fdb6157ec6e243dc76e32f9a84b (patch)
tree995ef4476a0f9d91f6fc240d84502ca3624b3643 /wcsutil/altwcs.py
parentf2960adfdd4d7d01ce29e2a4d2c7ba754f59afda (diff)
downloadstwcs_hcf-708b4f32ac133fdb6157ec6e243dc76e32f9a84b.tar.gz
Relatively minor update to wcsutil.altwcs to allow the alternate WCS methods to work on simple FITS images as well as MEF files. WJH
git-svn-id: http://svn.stsci.edu/svn/ssb/stsci_python/stsci_python/trunk/stwcs@13141 fe389314-cf27-0410-b35b-8c050e845b92
Diffstat (limited to 'wcsutil/altwcs.py')
-rw-r--r--wcsutil/altwcs.py29
1 files changed, 23 insertions, 6 deletions
diff --git a/wcsutil/altwcs.py b/wcsutil/altwcs.py
index cbeeaef..d250b52 100644
--- a/wcsutil/altwcs.py
+++ b/wcsutil/altwcs.py
@@ -46,18 +46,26 @@ def archiveWCS(fname, ext, wcskey=" ", wcsname=" ", clobber=False):
if isinstance(ext, int) or isinstance(ext, tuple):
ext = [ext]
+
+ wcsext = 0
+ eindx = 0
+ for e in f:
+ if 'extname' in e.header and 'sci' in e.header['extname'].lower():
+ wcsext = eindx
+ break
+ eindx += 1
if wcskey == " ":
# try getting the key from WCSNAME
if not wcsname.strip():
- wkey = next_wcskey(f[1].header)
+ wkey = next_wcskey(f[wcsext].header)
else:
- wkey = getKeyFromName(f[1].header, wcsname)
+ wkey = getKeyFromName(f[wcsext].header, wcsname)
else:
- if wcskey not in available_wcskeys(f[1].header):
+ if wcskey not in available_wcskeys(f[wcsext].header):
# reuse wcsname
if not wcsname.strip():
- wcsname = f[1].header["WCSNAME"+wcskey]
+ wcsname = f[wcsext].header["WCSNAME"+wcskey]
wname = wcsname
wkey = wcskey
else:
@@ -397,6 +405,15 @@ def parpasscheck(fobj, ext, wcskey, wcsname, clobber=True):
print 'Parameter wcskey must be a character - one of "A"-"Z" or " "'
return False
+ wcsext = 0
+ eindx = 0
+ for e in fobj:
+ if 'extname' in e.header and 'sci' in e.header['extname'].lower():
+ wcsext = eindx
+ break
+ eindx += 1
+
+
if wcskey == " ":
# try getting the key from WCSNAME
"""
@@ -407,14 +424,14 @@ def parpasscheck(fobj, ext, wcskey, wcsname, clobber=True):
return False
"""
if wcsname.strip():
- wkey = getKeyFromName(fobj[1].header, wcsname)
+ wkey = getKeyFromName(fobj[wcsext].header, wcsname)
if wkey and not clobber:
print 'Wcsname %s is already used.' % wcsname
print 'Use "wcsutil.next_wcskey" to obtain a valid wcskey'
print 'or use "clobber=True" to overwrite the values.'
return False
else:
- if wcskey not in available_wcskeys(fobj[1].header):
+ if wcskey not in available_wcskeys(fobj[wcsext].header):
if clobber==False:
print 'Wcskey %s is already used.' % wcskey
print 'Use "wcsutil.next_wcskey" to obtain a valid wcskey'