def _get_baselines(self, meas_analysis, dbisos, unpack, selected_histories): isotopes = self.isotopes default_fit = self._default_fit_factory('average', 'SEM') for dbiso in dbisos: mw = dbiso.molecular_weight if not mw: continue name = mw.name det = dbiso.detector.name try: iso = isotopes['{}{}'.format(name, det)] except KeyError: iso = isotopes[name] # kw = dict(dbrecord=dbiso, # name=name, # detector=det, # unpack=unpack) kind = dbiso.kind if kind == 'baseline': result = None if selected_histories is None: # todo: this needs to be fixed to handle data_reduction_tag try: result = dbiso.results[-1] except IndexError: result = None # kw['name'] = '{} bs'.format(name) # r = Baseline(dbresult=result, **kw) r = Baseline('{} bs'.format(name), det) if result: r.value = result.signal_ r.error = result.signal_err if unpack: r.unpack_data(dbiso.signal.data) fit = self.get_db_fit(meas_analysis, name, 'baseline', selected_histories) if fit is None: fit = default_fit() r.set_fit(fit, notify=False) iso.baseline = r elif kind == 'sniff' and unpack: # r = Sniff(**kw) r = Sniff(name, det) if unpack: r.unpack_data(dbiso.signal.data) iso.sniff = r