コード例 #1
0
    def _Fit_Spec_fired(self):
        plt.figure()
        plt.contourf(Data.wavelength, Data.time, Data.TrA_Data, 100)
        plt.title('Pick time to fit')
        plt.xlabel('Wavelength')
        plt.ylabel('Time')
        fittingto = np.array(ginput(1))
        plt.show()
        plt.close()

        index_time = (np.abs(Data.time - fittingto[:, 1])).argmin()
        Data.tracefitmodel = fitgui.fit_data(Data.wavelength,
                                             Data.TrA_Data[index_time, :],
                                             autoupdate=False)

        #If you want to have the fitting gui in another window while PyTrA remains responsive change the fit model to a model instance and use the line bellow to call it
        #Data.tracefitmodel.edit_traits()

        results_error = Data.tracefitmodel.getCov().diagonal()
        results_par = Data.tracefitmodel.params
        results = Data.tracefitmodel.parvals

        self.log = (
            '%s\n---\nFitted parameters at time %s \nFitting parameters' %
            (self.log, fittingto[:, 1]))

        for i in range(len(results)):
            self.log = (
                '%s\n---\n%s = %s +- %s' %
                (self.log, results_par[i], results[i], results_error[i]))
コード例 #2
0
def get_model(s, netlist):
    netlist_combined_data = get_combined_data(s, netlist)
    deltas = get_deltas(netlist_combined_data)
    count = len(deltas)
    hist, bin_edges = np.histogram(deltas)
    model = fit_data(range(len(hist)), hist / count)
    return model, netlist_combined_data
コード例 #3
0
    def _Fit_Trace_fired(self):
        plt.figure()
        plt.contourf(Data.wavelength, Data.time, Data.TrA_Data, 100)
        plt.title('Pick wavelength to fit')
        plt.xlabel('Wavelength')
        plt.ylabel('Time')
        fittingto = np.array(ginput(1))
        plt.show()
        plt.close()

        index_wavelength = (np.abs(Data.wavelength - fittingto[:, 0])).argmin()
        Data.tracefitmodel = fitgui.fit_data(
            Data.time,
            Data.TrA_Data[:, index_wavelength],
            autoupdate=False,
            model=Convoluted_exp1,
            include_models=
            'Convoluted_exp1,Convoluted_exp2,Convoluted_exp3,Convoluted_exp4,doublegaussian,doubleopposedgaussian,gaussian'
        )

        #If you want to have the fitting gui in another window while PyTrA remains responsive change the fit model to a model instance and use the line bellow to call it
        #Data.tracefitmodel.edit_traits()

        results_error = Data.tracefitmodel.getCov().diagonal()
        results_par = Data.tracefitmodel.params
        results = Data.tracefitmodel.parvals

        self.log = (
            '%s\n---\nFitted parameters at wavelength %s \nFitting parameters'
            % (self.log, fittingto[:, 0]))

        for i in range(len(results)):
            self.log = (
                '%s\n%s = %s +- %s' %
                (self.log, results_par[i], results[i], results_error[i]))
コード例 #4
0
ファイル: PyTrA.py プロジェクト: Margauxair/PyTrA
	def _Fit_Trace_fired(self):
		plt.figure()
		plt.contourf(Data.wavelength, Data.time, Data.TrA_Data, 100)
		plt.title('Pick wavelength to fit')
		plt.xlabel('Wavelength')
		plt.ylabel('Time')
		fittingto = np.array(ginput(1))
		plt.show()
		plt.close()

		index_wavelength=(np.abs(Data.wavelength-fittingto[:,0])).argmin()
		Data.tracefitmodel = fitgui.fit_data(Data.time,Data.TrA_Data[:,index_wavelength],autoupdate=False,model=Convoluted_exp1,include_models='Convoluted_exp1,Convoluted_exp2,Convoluted_exp3,Convoluted_exp4')

		#If you want to have the fitting gui in another window while PyTrA remains responsive change the fit model to a model instance and use the line bellow to call it
		#Data.tracefitmodel.edit_traits()

		results_error = Data.tracefitmodel.getCov().diagonal()
		results_par = Data.tracefitmodel.params
		results = Data.tracefitmodel.parvals

		self.log= ('%s \nFitted parameters at wavelength %s \nFitting parameters'%(self.log,fittingto[:,0]))

		for i in range(len(results)):
			self.log = ('%s \n%s = %s +- %s'%(self.log,results_par[i],results[i],results_error[i]))