Esempio n. 1
0
def convolvedecay(x, *args):
    n = len(args)
    sig = args[-1]
    t0 = args[-2]
    baseline = args[-3]
    A = args[:(n - 3) // 2]
    gam = args[(n - 3) // 2:-3]
    return gaussian_heaviside(x, sig, t0) * decay(x, A, gam, t0, baseline)
Esempio n. 2
0
        #        Ath = lognorm(s=shape,loc=mu,scale=sig).pdf(Gamth)

        #                Gaussian
        mu1, mu2 = 6.5, 2.37  #np.random.uniform(4,8)
        #        sig1,sig2 = np.random.uniform(0,mu1/5),np.random.uniform(0,mu2/5)
        #        Ath = (1.6*norm.pdf(Gamth,mu1,sig1)+0.6*norm.pdf(Gamth,mu2,sig2))*(Gamth>0)
        Gamth = np.array([6.5, 2.37])
        Ath = np.array([0.73, 0.27])

        t0 = 5
        true_taueff = np.sum(Ath / Gamth) / np.sum(Ath)
        simu_data = np.zeros(2500)
        for i in range(size):
            t0 = t0 + np.random.normal(0, 0.003)
            #    model_data = gaussian_heaviside(t,0.027,t0+i*periode)*decay(t,Ath,Gamth,t0+i*periode,0)
            model_data = gaussian_heaviside(t, rtime, t0) * test_dlt(
                t, (t0), Gamth, Ath) * np.random.uniform(5e3, 2e4) + 30
            #    model_data = gaussian_heaviside(t,0.027,t0+i*periode)*gaussian_decay(t-(t0+i*periode),Ath[0],sig,mu)
            #            simu_data += (model_data).astype(np.int)
            simu_data += (np.round(np.random.poisson(model_data))).astype(
                np.int)
        simu_data = simu_data / size
        #plt.semilogy(t,model_data+30,label="model")
        #plt.semilogy(t,simu_data,'.',label="Simu wo gaussian")
        #        ntime,ndata = mergeData(t,simu_data,binsize)
        #        prepared_data = prepareData(t,simu_data)[:-1]
        #        fig, ax = plt.subplots()
        #        #ax.plot(*prepared_data,'.',c='k',label='data')
        #        ##plt.plot(ntime,ndata)
        #        fig,ax=plt.subplots()
        #        for i in range(1,30):