Skip to main content

process single-shot positron annihlation lifetime spectra

Project description

python tools for analysing single-shot positron annihilation lifetime spectra


Tested using Anaconda (Continuum Analytics) with Python 2.7 and 3.5.

Package dependencies:

  • scipy, numpy, pandas


via pip (recommended):

pip install sspals

alternatively, try the development version

git clone
cd sspals

and then run

python install


Single-shot positron annihilation lifetime spectroscopy (SSPALS) [Ref. 1] essentially consists of studying the number of annihilation gamma-rays measured as a function of time following implantation of a time-focused (~5 ns) positron bunch into a solid target material.

For certain materials a significant fraction of the positrons (~ 30%) will bind to electrons to form positronium (Ps), which can then be re-emitted to vacuum. Ps has a characteristic mean lifetime of 142 ns in vacuum, which makes it relatively easy to identify in SSPALS spectra.

This package includes a handful of useful tools for working with SSPALS data. The two main functions are used to: (i) combine data split across hi/ low gain channels of a digital oscilloscope, and (ii) to estimate the amount of Ps formed using the so-called delayed fraction.

sspals.chmx(hi, low) > Remove zero offset from hi and low gain data, invert and splice together by swapping saturated values from the hi-gain channel for those from the low-gain channel. Apply along rows of a 2D array.

sspals.sspals(arr, dt, limits=[A, B, C]) > Calculate the trigger time t0 (using a cfd) and the delayed fraction (DF) (integral B->C / integral A->C) for each row of a 2D array. Return a pandas DataFrame [(t0, AC, BC, DF)].

Raw data (hi, low) is expected to be 2D arrays of repeat measurements, where each row contains a single SSPALS waveform.

For examples see the IPython/ Jupter notebooks,


  1. D. B. Cassidy et al. (2006), Appl. Phys. Lett., 88, 194105.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sspals, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size sspals-0.1.2-py2.py3-none-any.whl (8.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size sspals-0.1.2-py3.6.egg (15.1 kB) File type Egg Python version 3.6 Upload date Hashes View
Filename, size sspals-0.1.2-py3.7.egg (15.0 kB) File type Egg Python version 3.7 Upload date Hashes View
Filename, size sspals-0.1.2.tar.gz (6.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page