def loaddata(filename):
if filename.find(ext)==-1: filename += ext
data = None
hdulist = pf.open(filename)
# extract data hdu per hdu
for item in hdulist:
if item.header.get(card)=='DATA':
if data is None: # first set
data = Oidata(src=item.header.get('SRC'), flatten=item.header.get('FLATTEN'), degrees=item.header.get('DEGREES'), significant_figures=item.header.get('SIG_FIG'), **{item.header.get('DATATYPE'):item.data})
else:
data.addData(src=item.header.get('SRC'), flatten=item.header.get('FLATTEN'), degrees=item.header.get('DEGREES'), significant_figures=item.header.get('SIG_FIG'), **{item.header.get('DATATYPE'):item.data})
# apply data mode per mode
for item in hdulist:
if item.header.get(card)=='DATAMASK':
theoldmask = getattr(data, item.header.get('DATATYPE')).mask
if theoldmask.shape != item.data.shape:
print("Error while applying data mask on "+item.header.get('DATATYPE'))
else:
getattr(data, item.header.get('DATATYPE')).mask = np.logical_or(theoldmask, item.data.astype(bool))
return data
评论列表
文章目录