PyAbel (v0.7): A Python Package for Abel Transforms
Daniel D. Hickstein, Roman Yurchak, Dhrubajyoti D. Das, Chung-You Shih, S. T. Gibson · Zenodo (CERN European Organization for Nuclear Research) · 2016
PyAbel is an open-source Python package for performing Abel transforms (both forward and inverse). The forward Abel transform is used to transform a slice of a 3D object into a 2D projection of the object. The inverse Abel transform accomplished the opposite, taking a 2D projection of the object and providing a slice of the 3D object. To use the Abel transform, the object must have cylindrical symmetry, and that axis of cylindrical symmetry must lie in the plane of the 2D image. Inverse Abel transforms are commonly used in processing images derived from photoelectron/photoion spectroscopy experiments, ultracold atom (Bose-Einstein condensates) experiments, and in the analysis of flames and plasma plumes. Basically, these are all cases where projections of cylindrically symmetric structures are recorded. PyAbel incorporates several of the most popular Abel Transform algorithms, including: 1. The Gaussian basis set expansion of Dribinski and co-workers (BASEX) 2. The recursive method of Hansen and Law. 3. Direct numerical integration of the analytical Abel transform equations. 4. The "three point" method of Dasch and co-workers. PyAbel achieves highly efficient implementations of these Abel transform methods in an easy-to-use Python package. PyAbel also includes a set of tools for centering, symmetrizing, and integrating images. PyAbel is available under the MIT license.