Skip to content

pyLifetimeSpectraGenerator - A simple Python program for the generation of synthetic lifetime spectra consisting of discrete or distributed characteristic lifetimes.

License

Notifications You must be signed in to change notification settings

dpscience/pyLifetimeSpectraGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Support this project and keep always updated about recent software releases, bug fixes and major improvements by following on github.

badge-followers badge-stars badge-forks

pyLifetimeSpectraGenerator

badge-language badge-license

Copyright (c) 2021 Danny Petschke (danny.petschke@uni-wuerzburg.de). All rights reserved.

pyLifetimeSpectraGenerator - A simple Python program for the generation of synthetic lifetime spectra consisting of discrete or distributed characteristic lifetimes.

Quickstart Guide (see example.py)

  • import the 'pyLifetimeSpectraGenerator' module
import pyLifetimeSpectraGenerator as plg
  • generate your synthetic lifetime spectrum using 'pyLifetimeSpectraGenerator' module ...
# (1) generate the IRF function (or import numerical data) ...
__,irf_data = lsg.generateGaussianIRF(numberOfBins   = 10000,
                                      binWidth_in_ps = 5.,
                                      t0_in_ps       = 4100.,
                                      fwhm_in_ps     = 200.)
        
# (2) generate a distribution of characteristic lifetimes following a Gaussian function ...
tau_grid,I_pdf = lsg.generateGaussianDistributionOfLifetimes(number_of_tau_grid_points = 10000,
                                                             tau_grid_range_in_ps      = [10.,5000.],
                                                             loc_tau_in_ps             = [170.,380.,1400.,1500.], # mean of Gaussians
                                                             scale_tau_in_ps           = [5.,5.,50.,50.], # standard deviation of Gaussians
                                                             I                         = [0.25,0.15,0.015,0.585]) # relative contributions
# (3) generate the resulting lifetime spectrum ...
__,spectrum = lsg.generateLTSpectrum(numberOfBins     = 10000,
                                     binWidth_in_ps   = 5.,
                                     integralCounts   = 5E6,
                                     constBkgrdCounts = 5,
                                     tau_in_ps        = tau_grid,
                                     I                = I_pdf,
                                     irf_data         = irf_data,                   
                                     noise            = True,                 
                                     noise_level      = 1.,                   
                                     convoluteWithIRF = True)

How to cite this Software?

  • You should at least cite the applied version of this program in your study.

You can cite all versions by using the DOI 10.5281/zenodo.5520675. This DOI represents all versions, and will always resolve to the latest one.

DOI

v1.x

pyTailFit v1.0
DOI

License of pyLifetimeSpectraGenerator (GNU General Public License)

Copyright (c) 2021 Danny Petschke (danny.petschke@uni-wuerzburg.de) All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

For more details see GNU General Public License v3