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 ([email protected]). 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 ([email protected]) 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