Example #1
0
    def FitProcessSpectrum(self, pymca_config, spectrum):
        advancedFit = ClassMcaTheory.McaTheory(config=pymca_config)
        advancedFit.enableOptimizedLinearFit()
        mfTool = ConcentrationsTool(pymca_config)
        tconf = mfTool.configure()

        advancedFit.config['fit']['use_limit'] = 1
        advancedFit.setdata(y=spectrum)
        advancedFit.estimate()

        fitresult, tmpresult = advancedFit.startfit(digest=1)
        tmpresult = advancedFit.imagingDigestResult()

        temp = {}
        temp['fitresult'] = fitresult
        temp['result'] = tmpresult
        for bcts, pk in zip(self.BckndCounts, self.peaks_quant):
            tmpresult[pk]['fitarea']-=bcts
        temp['result']['config'] = advancedFit.config
        tconf.update(advancedFit.configure()['concentrations'])
        conc = mfTool.processFitResult(config=tconf, fitresult=temp,
                                       elementsfrommatrix=False,
                                       fluorates=advancedFit._fluoRates)

        calc_mf=numpy.float32([conc['mass fraction'][pk] for pk in self.peaks_quant])
        return calc_mf, tmpresult
Example #2
0
def init(config):
    global advanced_fit, mass_fraction_tool
    from PyMca.ClassMcaTheory import McaTheory
    config['fit']['use_limit'] = 1
    advanced_fit = McaTheory(config=config)
    advanced_fit.enableOptimizedLinearFit()
    if 'concentrations' in config:
        mass_fraction_tool = ConcentrationsTool(config['concentrations'])
        mass_fraction_tool.config['time'] = 1
    else:
        mass_fraction_tool = None