Metadata-Version: 2.1
Name: sspals
Version: 0.1.2
Summary: process single-shot positron annihlation lifetime spectra
Home-page: https://github.com/PositroniumSpectroscopy/sspals
Author: Adam Deller
Author-email: a.deller@ucl.ac.uk
License: BSD
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Dist: scipy (>0.12)
Requires-Dist: numpy (>1.9)
Requires-Dist: pandas (>=0.16)

sspals
======

python tools for analysing single-shot positron annihilation lifetime
spectra

.. image:: https://zenodo.org/badge/49681355.svg
   :target: https://zenodo.org/badge/latestdoi/49681355

Prerequisites
-------------

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

Package dependencies:

-  scipy, numpy, pandas

Installation
------------

via pip (recommended):

::

    pip install sspals

alternatively, try the development version

::

    git clone https://github.com/PositroniumSpectroscopy/sspals
    cd sspals

and then run

::

    python setup.py install
    pytest

About
-----

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,

https://github.com/PositroniumSpectroscopy/sspals/tree/master/examples

**Refs**.

1. D. B. Cassidy et al. (2006), Appl. Phys. Lett., 88, 194105.
   http://dx.doi.org/10.1063/1.2203336


