@@ -70,7 +70,7 @@ def __init__(self, wave=None, flux=None, ivar=None, mask=None, info={}, normaliz
7070 if mask is None :
7171 self .mask = np .zeros_like (self .flux , dtype = np .bool )
7272 else :
73- self .ivar = ivar
73+ self .mask = mask
7474 # set info
7575 for k , v in info .items ():
7676 self .__setattr__ (k , v )
@@ -87,7 +87,7 @@ def __repr__(self):
8787 return "<MrsSpec name={} snr={:.1f}>" .format (self .name , self .snr )
8888
8989 @staticmethod
90- def read_mrs (hdu = None , normalize = True , ** norm_kwargs ):
90+ def from_hdu (hdu = None , normalize = True , ** norm_kwargs ):
9191 """ convert MRS HDU to spec """
9292 if hdu is None or hdu .header ["EXTNAME" ] == "Information" :
9393 return MrsSpec ()
@@ -325,7 +325,7 @@ def get_one_spec(self, lmjm="COADD", band="B"):
325325 k = "COADD_{}" .format (band )
326326 else :
327327 k = "{}-{}" .format (band , lmjm )
328- return MrsSpec (self [k ])
328+ return MrsSpec . from_hdu (self [k ])
329329
330330 def get_one_epoch (self , lmjm = 84420148 , normalize = True , norm_kwargs = {}):
331331 """ get one epoch spec from fits """
@@ -344,9 +344,14 @@ def get_one_epoch(self, lmjm=84420148, normalize=True, norm_kwargs={}):
344344 kB = "B-{}" .format (lmjm )
345345 kR = "R-{}" .format (lmjm )
346346 # read B & R band spec
347- msB = MrsSpec .read_mrs (self [kB ], normalize = normalize , ** norm_kwargs )
348- msR = MrsSpec .read_mrs (self [kR ], normalize = normalize , ** norm_kwargs )
349-
347+ if kB in self .hdunames :
348+ msB = MrsSpec .from_hdu (self [kB ], normalize = normalize , ** norm_kwargs )
349+ else :
350+ msB = MrsSpec (normalize = normalize , ** norm_kwargs )
351+ if kR in self .hdunames :
352+ msR = MrsSpec .from_hdu (self [kR ], normalize = normalize , ** norm_kwargs )
353+ else :
354+ msR = MrsSpec (normalize = normalize , ** norm_kwargs )
350355 # return MrsSpec
351356 return MrsEpoch ((msB , msR ), epoch = lmjm )
352357
@@ -357,7 +362,6 @@ def get_all_epochs(self, normalize=True, norm_kwargs={}, including_coadd=False):
357362 else :
358363 all_keys = ["COADD" , ]
359364 all_keys .extend (np .unique (self .lmjm [self .lmjm > 0 ]))
360-
361365 # return epochs
362366 return [self .get_one_epoch (k , normalize = normalize , norm_kwargs = norm_kwargs ) for k in all_keys ]
363367
@@ -439,9 +443,9 @@ def normalize(self, **norm_kwargs):
439443 print (mf .ls_epoch )
440444
441445 # get MRS spec from MrsFits
442- specCoaddB = MrsSpec .read_mrs (mf ["COADD_B" ], normalize = False )
443- msB = MrsSpec .read_mrs (mf ["B-84420148" ], normalize = True )
444- msR = MrsSpec .read_mrs (mf ["R-84420148" ], normalize = True )
446+ specCoaddB = MrsSpec .from_hdu (mf ["COADD_B" ], normalize = False )
447+ msB = MrsSpec .from_hdu (mf ["B-84420148" ], normalize = True )
448+ msR = MrsSpec .from_hdu (mf ["R-84420148" ], normalize = True )
445449 print (msB , msR )
446450 print (msB .snr , msR .snr )
447451
0 commit comments