コード例 #1
0
ファイル: argon_calc.py プロジェクト: NMGRL/pychron
    def setUp(self):
        rid = '60754-10'
        config = ConfigParser()
        p = '/Users/ross/Sandbox/pychron_validation_data.cfg'
        config.read(p)

        signals = [list(map(float, x.split(','))) for x in [config.get('Signals-{}'.format(rid), k)
                        for k in ['ar40', 'ar39', 'ar38', 'ar37', 'ar36']]]

        blanks = [list(map(float, x.split(','))) for x in [config.get('Blanks-{}'.format(rid), k)
                        for k in ['ar40', 'ar39', 'ar38', 'ar37', 'ar36']]]

        irradinfo = [list(map(float, x.split(','))) for x in [config.get('irrad-{}'.format(rid), k) for k in ['k4039', 'k3839', 'ca3937', 'ca3837', 'ca3637', 'cl3638']]]

        j = config.get('irrad-{}'.format(rid), 'j')
        j = [float(x) for x in j.split(',')]
        baselines = [(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)]
        backgrounds = [(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)]

        ar37df = config.getfloat('irrad-{}'.format(rid), 'ar37df')
        t = math.log(ar37df) / (constants.lambda_37.nominal_value * 365.25)
        irradinfo.append(t)

        # load results
        r = 'results-{}'.format(rid)
        self.age = config.getfloat(r, 'age')
        self.rad4039 = config.getfloat(r, 'rad4039')
        self.ca37k39 = config.getfloat(r, 'ca37k39')


        self.age_dict = calculate_arar_age(signals, baselines, blanks, backgrounds, j, irradinfo,
                               )
コード例 #2
0
ファイル: age_calculator.py プロジェクト: UManPychron/pychron
    def _calc_from_file(self, path):
        self.results = []

        workbook = xlrd.open_workbook(path)
        ir_s = workbook.sheet_by_name('irradiation')
        irrad_info = self._load_irrad_info_from_file(ir_s)

        i_s = workbook.sheet_by_name('intensities')
        header = self._make_row(i_s, 0)

        try:
            bl_s = workbook.sheet_by_name('blanks')
            bl_header = self._make_row(bl_s, 0)
        except xlrd.XLRDError:
            bl_s = None
            bl_header = None
        try:
            bg_s = workbook.sheet_by_name('backgrounds')
            bg_header = self._make_row(bg_s, 0)
        except xlrd.XLRDError:
            bg_header = None
            bg_s = None

        try:
            bs_s = workbook.sheet_by_name('baselines')
            bs_header = self._make_row(bs_s, 0)
        except xlrd.XLRDError:
            bs_header = None
            bs_s = None

        idx_j = header.index('j')
        idx_jerr = header.index('j_err')
        idx_ic = header.index('ic')
        idx_ic_err = header.index('ic_err')

        c_s = workbook.sheet_by_name('constants')
        constants_obj = Constants(c_s)

        for ri in range(1, i_s.nrows):
            signals = self._load_signals(header, i_s, ri)
            blanks = self._load_signals(bl_header, bl_s, ri)
            baselines = self._load_signals(bs_header, bs_s, ri)
            backgrounds = self._load_signals(bg_header, bg_s, ri)

            row = self._make_row(i_s, ri)
            idn = row[0]
            j = map(float, (row[idx_j], row[idx_jerr]))
            ic = map(float, (row[idx_ic], row[idx_ic_err]))
            arar_result = calculate_arar_age(signals, baselines, blanks, backgrounds, j, irrad_info,
                                           a37decayfactor=1, a39decayfactor=1,
                                           ic=ic,
                                           arar_constants=constants_obj)

            self.results.append(Result(identifier=idn,
                                       age=arar_result['age'] / 1e6))
コード例 #3
0
    def setUp(self):
        rid = '60754-10'
        config = ConfigParser()
        p = '/Users/ross/Sandbox/pychron_validation_data.cfg'
        config.read(p)

        signals = [
            list(map(float, x.split(','))) for x in [
                config.get('Signals-{}'.format(rid), k)
                for k in ['ar40', 'ar39', 'ar38', 'ar37', 'ar36']
            ]
        ]

        blanks = [
            list(map(float, x.split(','))) for x in [
                config.get('Blanks-{}'.format(rid), k)
                for k in ['ar40', 'ar39', 'ar38', 'ar37', 'ar36']
            ]
        ]

        irradinfo = [
            list(map(float, x.split(','))) for x in [
                config.get('irrad-{}'.format(rid), k) for k in
                ['k4039', 'k3839', 'ca3937', 'ca3837', 'ca3637', 'cl3638']
            ]
        ]

        j = config.get('irrad-{}'.format(rid), 'j')
        j = [float(x) for x in j.split(',')]
        baselines = [(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)]
        backgrounds = [(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)]

        ar37df = config.getfloat('irrad-{}'.format(rid), 'ar37df')
        t = math.log(ar37df) / (constants.lambda_37.nominal_value * 365.25)
        irradinfo.append(t)

        # load results
        r = 'results-{}'.format(rid)
        self.age = config.getfloat(r, 'age')
        self.rad4039 = config.getfloat(r, 'rad4039')
        self.ca37k39 = config.getfloat(r, 'ca37k39')

        self.age_dict = calculate_arar_age(
            signals,
            baselines,
            blanks,
            backgrounds,
            j,
            irradinfo,
        )
コード例 #4
0
    def _calc_from_file(self, path):
        self.results = []

        workbook = xlrd.open_workbook(path)
        ir_s = workbook.sheet_by_name('irradiation')
        irrad_info = self._load_irrad_info_from_file(ir_s)

        i_s = workbook.sheet_by_name('intensities')
        header = self._make_row(i_s, 0)

        try:
            bl_s = workbook.sheet_by_name('blanks')
            bl_header = self._make_row(bl_s, 0)
        except xlrd.XLRDError:
            bl_s = None
            bl_header = None
        try:
            bg_s = workbook.sheet_by_name('backgrounds')
            bg_header = self._make_row(bg_s, 0)
        except xlrd.XLRDError:
            bg_header = None
            bg_s = None

        try:
            bs_s = workbook.sheet_by_name('baselines')
            bs_header = self._make_row(bs_s, 0)
        except xlrd.XLRDError:
            bs_header = None
            bs_s = None

        idx_j = header.index('j')
        idx_jerr = header.index('j_err')
        idx_ic = header.index('ic')
        idx_ic_err = header.index('ic_err')

        c_s = workbook.sheet_by_name('constants')
        constants_obj = Constants(c_s)

        for ri in range(1, i_s.nrows):
            signals = self._load_signals(header, i_s, ri)
            blanks = self._load_signals(bl_header, bl_s, ri)
            baselines = self._load_signals(bs_header, bs_s, ri)
            backgrounds = self._load_signals(bg_header, bg_s, ri)

            row = self._make_row(i_s, ri)
            idn = row[0]
            j = map(float, (row[idx_j], row[idx_jerr]))
            ic = map(float, (row[idx_ic], row[idx_ic_err]))
            arar_result = calculate_arar_age(signals,
                                             baselines,
                                             blanks,
                                             backgrounds,
                                             j,
                                             irrad_info,
                                             a37decayfactor=1,
                                             a39decayfactor=1,
                                             ic=ic,
                                             arar_constants=constants_obj)

            self.results.append(
                Result(identifier=idn, age=arar_result['age'] / 1e6))