summaryrefslogtreecommitdiff
path: root/wcsutil/instruments.py
diff options
context:
space:
mode:
Diffstat (limited to 'wcsutil/instruments.py')
-rw-r--r--wcsutil/instruments.py63
1 files changed, 45 insertions, 18 deletions
diff --git a/wcsutil/instruments.py b/wcsutil/instruments.py
index a80ec31..e2c2b0b 100644
--- a/wcsutil/instruments.py
+++ b/wcsutil/instruments.py
@@ -9,7 +9,7 @@ class InstrWCS(object):
It prvides a default implementation (modeled by ACS) for
all set_kw methods.
"""
- def __init__(self, hdr0, hdr):
+ def __init__(self, hdr0=None, hdr=None):
self.exthdr = hdr
self.primhdr = hdr0
@@ -31,31 +31,52 @@ class InstrWCS(object):
self.set_parity()
def set_filter1(self):
- self.filter1 = self.primhdr.get('FILTER1', None)
-
+ try:
+ self.filter1 = self.primhdr.get('FILTER1', None)
+ except:
+ self.filter1 = None
def set_filter2(self):
- self.filter2 = self.primhdr.get('FILTER2', None)
-
+ try:
+ self.filter2 = self.primhdr.get('FILTER2', None)
+ except:
+ self.filter2 = None
def set_vafactor(self):
- self.vafactor = self.exthdr.get('vafactor', 1)
-
+ try:
+ self.vafactor = self.exthdr.get('vafactor', 1)
+ except:
+ self.vafactor = 1.
def set_naxis1(self):
- self.naxis1 = self.exthdr.get('naxis1', None)
-
+ try:
+ self.naxis1 = self.exthdr.get('naxis1', None)
+ except:
+ self.naxis1 = None
def set_naxis2(self):
- self.naxis2 = self.exthdr.get('naxis2', None)
-
+ try:
+ self.naxis2 = self.exthdr.get('naxis2', None)
+ except:
+ self.naxis2 = None
def set_ltv1(self):
- self.ltv1 = self.exthdr.get('ltv1', 0.0)
+ try:
+ self.ltv1 = self.exthdr.get('ltv1', 0.0)
+ except:
+ self.ltv1 = 0.0
def set_ltv2(self):
- self.ltv2 = self.exthdr.get('ltv2', 0.0)
+ try:
+ self.ltv2 = self.exthdr.get('ltv2', 0.0)
+ except:
+ self.ltv2 = 0.0
def set_binned(self):
- self.binned = self.exthdr.get('BINAXIS1', 1)
-
+ try:
+ self.binned = self.exthdr.get('BINAXIS1', 1)
+ except:
+ self.binned = 1
def set_chip(self):
- self.chip = self.exthdr.get('CCDCHIP', 1)
+ try:
+ self.chip = self.exthdr.get('CCDCHIP', 1)
+ except:
+ self.chip = 1
def set_parity(self):
self.parity = [[1.0,0.0],[0.0,-1.0]]
@@ -75,8 +96,14 @@ class ACSWCS(InstrWCS):
parity = {'WFC':[[1.0,0.0],[0.0,-1.0]],
'HRC':[[-1.0,0.0],[0.0,1.0]],
'SBC':[[-1.0,0.0],[0.0,1.0]]}
- detector = self.primhdr.get('detector', None)
- self.parity = parity[detector]
+ try:
+ detector = self.primhdr.get('detector', None)
+ except:
+ detector = None
+ if detector not in parity.keys():
+ parity = InstrWCS.set_parity(self)
+ else:
+ self.parity = parity[detector]
class WFPC2WCS(InstrWCS):