summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/stwcs/updatewcs/utils.py6
-rw-r--r--lib/stwcs/wcsutil/wcscorr.py10
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/stwcs/updatewcs/utils.py b/lib/stwcs/updatewcs/utils.py
index f851522..0e7d77b 100644
--- a/lib/stwcs/updatewcs/utils.py
+++ b/lib/stwcs/updatewcs/utils.py
@@ -99,6 +99,12 @@ def build_distname(sipname,npolname,d2imname):
return distname
+def build_default_wcsname(idctab):
+
+ idcname = extract_rootname(idctab,suffix='_idc')
+ wcsname = 'IDC_' + idcname
+ return wcsname
+
def build_sipname(fobj):
try:
sipname = fobj[0].header["SIPNAME"]
diff --git a/lib/stwcs/wcsutil/wcscorr.py b/lib/stwcs/wcsutil/wcscorr.py
index 96883c5..3071d0d 100644
--- a/lib/stwcs/wcsutil/wcscorr.py
+++ b/lib/stwcs/wcsutil/wcscorr.py
@@ -134,10 +134,7 @@ def init_wcscorr(input, force=False):
wcskey=uwkey)
wcshdr = wcs.wcs2header()
if 'WCSNAME' + uwkey not in wcshdr:
- idctab = fileutil.osfn(fimg[0].header['idctab'])
- idcname = os.path.split(idctab)[-1]
- idcname = idcname[:idcname.find('_')]
- wcsid = 'IDC_' + idcname
+ wcsid = utils.build_default_wcsname(fimg[0].header['idctab'])
else:
wcsid = wcshdr['WCSNAME' + uwkey]
@@ -300,7 +297,10 @@ def update_wcscorr(dest, source=None, extname='SCI', wcs_id=None, active=True):
else:
tab_extver = extver
hdr = source[extn].header
- wcsname = hdr['WCSNAME' + wcs_key]
+ if 'WCSNAME'+wcs_key in hdr:
+ wcsname = hdr['WCSNAME' + wcs_key]
+ else:
+ wcsname = utils.build_default_wcsname(hdr['idctab'])
selection = {'WCS_ID': wcsname, 'EXTVER': tab_extver,
'SIPNAME':sipname, 'HDRNAME': hdrname,
'NPOLNAME': npolname, 'D2IMNAME':d2imname