diff options
Diffstat (limited to 'wcsutil/__init__.py')
-rw-r--r-- | wcsutil/__init__.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/wcsutil/__init__.py b/wcsutil/__init__.py index adde32a..a4f4d31 100644 --- a/wcsutil/__init__.py +++ b/wcsutil/__init__.py @@ -28,7 +28,7 @@ class HSTWCS(WCS): instrument specific attributes needed by the correction classes. """ - def __init__(self, fobj=None, ext=None, instrument=None, detector=None): + def __init__(self, input=None, ext=None, instrument=None, detector=None): """ :Parameters: `fobj`: string or PyFITS HDUList object or None @@ -49,7 +49,7 @@ class HSTWCS(WCS): self.inst_kw = ins_spec_kw if instrument == None: - filename, hdr0, ehdr = self.parseInput(fobj=fobj, ext=ext) + filename, hdr0, ehdr, fobj = self.parseInput(f=input, ext=ext) self.filename = filename WCS.__init__(self, ehdr, fobj=fobj) self.setHDR0kw(hdr0, ehdr) @@ -67,14 +67,15 @@ class HSTWCS(WCS): self.detector = detector self.setInstrSpecKw() - def parseInput(self, fobj=None, ext=None): - if isinstance(fobj, str): + def parseInput(self, f=None, ext=None): + if isinstance(f, str): # create an HSTWCS object from a filename + fobj = pyfits.open(f) if ext != None: - filename = fobj + filename = f extnum = ext elif ext == None: - filename, extname = fileutil.parseFilename(fobj) + filename, extname = fileutil.parseFilename(f) if extname == None: #data may be in the primary array extnum = 0 @@ -86,16 +87,17 @@ class HSTWCS(WCS): except IndexError: print 'Unable to get extension %d. /n' % ext - elif isinstance(fobj, pyfits.HDUList): + elif isinstance(f, pyfits.HDUList): + fobj = f if ext == None: extnum = 0 else: extnum = ext - ehdr = fobj[extnum].header - hdr0 = fobj[0].header + ehdr = f[extnum].header + hdr0 = f[0].header filename = hdr0.get('FILENAME', "") - return filename, hdr0, ehdr + return filename, hdr0, ehdr, fobj def setHDR0kw(self, primhdr, ehdr): # Set attributes from kw defined in the primary header. @@ -213,6 +215,8 @@ class HSTWCS(WCS): return else: self.updatehdr(header) + + def restore(self, header=None): """ |