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
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