diff options
| author | hack <hack@stsci.edu> | 2011-06-16 17:59:20 -0400 | 
|---|---|---|
| committer | hack <hack@stsci.edu> | 2011-06-16 17:59:20 -0400 | 
| commit | 708b4f32ac133fdb6157ec6e243dc76e32f9a84b (patch) | |
| tree | 995ef4476a0f9d91f6fc240d84502ca3624b3643 /wcsutil | |
| parent | f2960adfdd4d7d01ce29e2a4d2c7ba754f59afda (diff) | |
| download | stwcs_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')
| -rw-r--r-- | wcsutil/altwcs.py | 29 | 
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' | 
