Source-linked AI summary

A direct comparison of high-speed methods for the numerical Abel transform

Daniel D. Hickstein, Stephen T. Gibson, Roman Yurchak, Dhrubajyoti D. Das, Mikhail Ryazanov

arXiv:1902.09007v1physics.chem-phastro-ph.IMphysics.ins-det

TL;DR

Numerical Abel methods are hard to select because they differ in implementation and computational efficiency. PyAbel brings eight methods into a common comparison framework; methods generally produce similar results, while optimization enables high-speed and gigapixel transforms.

  • Problem

    Different numerical Abel methods have different goals and software requirements, making them time-consuming to compare and difficult to select.

    Source: §I · p. 1
  • Method

    PyAbel implements eight inverse Abel algorithms in a common Python package for direct comparison, with algorithm optimization to improve efficiency.

    Source: §I · pp. 1–2, §II · p. 2
  • Results

    Methods generally produce similar results, although some are less noisy and agree better with analytical solutions; optimized methods include high-definition video-rate and gigapixel demonstrations.

    Source: §I · p. 2, §VI · p. 7
  • Takeaways & Limitations

    The shared package enables quantitative method comparisons, while optimized transforms can run at high-definition video frame rates on a desktop computer.

    Source: §I · pp. 1–2, §VI · p. 7

Abstract

from arXiv · show

The Abel transform is a mathematical operation that transforms a cylindrically symmetric three-dimensional (3D) object into its two-dimensional (2D) projection. The inverse Abel transform reconstructs the 3D object from the 2D projection. Abel transforms have wide application across numerous fields of science, especially chemical physics, astronomy, and the study of laser-plasma plumes. Consequently, many numerical methods for the Abel transform have been developed, which makes it challenging to select the ideal method for a specific application. In this work eight transform methods have been incorporated into a single, open-source Python software package (PyAbel) to provide a direct comparison of the capabilities, advantages, and relative computational efficiency of each transform method. Most of the tested methods provide similar, high-quality results. However, the computational efficiency varies across several orders of magnitude. By optimizing the algorithms, we find that some transform methods are sufficiently fast to transform 1-megapixel images at more than 100 frames per second on a desktop personal computer. In addition, we demonstrate the transform of gigapixel images.

I. INTRODUCTION

Numerical Abel methods are difficult to compare and select because they differ in goals, conventions, formats, languages, and platforms. PyAbel provides a common comparison framework, reports broadly similar results across methods, and demonstrates high-speed and gigapixel transforms.

I. INTRODUCTION

  • Inverse Abel transforms recover the 3D object from 2D projections used in measurements such as spectroscopy, plasma-plume analysis, flame analysis, and solar occultation.The projection arises from cylindrically symmetric objects with the symmetry axis parallel to the detector plane.Source: §I · p. 1
  • Selecting a method is difficult because algorithms have different goals and requirements, implementations vary across languages and platforms, and observed differences may come from software rather than algorithms.Testing multiple methods can be time-consuming.Source: §I · p. 1
  • Most methods produce similar results, although some yield less noise and better agreement with analytical solutions.The comparison uses shared mathematical conventions and data formats to support quantitative evaluation.Source: §I · pp. 1–2
  • Algorithm optimization makes many methods several orders of magnitude faster than published results suggested.Prior demonstrations transformed 1000×1000-pixel images at about 1 frame per second, while high-speed cameras can exceed 1000 Mp/s.Source: §I · p. 2
  • PyAbel compares eight inverse-transform methods and demonstrates high-definition video-rate transforms on a desktop and a 65 537×65 537-pixel transform.The paper also compares methods on an analytical Gaussian function and experimental photoelectron-spectroscopy data.Source: §I · p. 2

II. ABEL-TRANSFORM ALGORITHMS

The section describes eight inverse Abel algorithms, three of which also support forward transforms, and outlines their different numerical strategies and conditions of use.

II. ABEL-TRANSFORM ALGORITHMS

  • Numerical inversion is challenging because a direct integral approach is computationally expensive, singular at y = r, and requires dense sampling for accuracy.Simple numerical integration has been shown to produce unreliable results.Source: §II · p. 2
  • BASEX uses Gaussian-like basis functions and optional Tikhonov regularization to suppress intensity oscillations while retaining image features.The comparison sets the regularization factor to 200; lin-BASEX instead models projections with spherical functions and is appropriate when those basis functions describe the projection.Source: §II · pp. 2–3
  • Hansen–Law treats the transform as a linear space-variant state-variable equation and provides computationally efficient forward and inverse transforms.Three-point, two-point, and onion-peeling methods reduce the core transform to matrix algebra; Dasch notes they work best when adjacent-point differences exceed projection noise.Source: §II · pp. 2–3
  • Onion-peeling deconvolution is among the simpler, faster inverse methods, while Bordas’s onion-peeling implementation is numerically different from the conceptually similar method.The Bordas implementation is based on the MATLAB implementation of Rallis et al.Source: §II · p. 3
  • The direct method numerically integrates the Abel equation, correcting the r = y singularity with a piecewise-linear pixel approximation and requiring finely sampled input.PyAbel’s pure-Python and Cython implementations produce identical results but differ in calculation speed.Source: §II · p. 3

A. Interface

PyAbel offers a common interface for selecting transforms and includes image-preparation and post-processing tools.

A. Interface

  • PyAbel includes centering, symmetrizing, and circularizing tools, plus image-analysis functions for angular and radial integration.The package also provides polar-coordinate projection and other post-processing algorithms.Source: A. Interface · p. 3
  • A sample image can be generated, forward transformed, and inverse transformed with a few lines of Python code.The example uses Hansen–Law for both transforms.Source: A. Interface · p. 3
  • The interface lets users choose forward or inverse transforms and change methods through the method argument.Additional options can be passed to individual transform functions, and a basic GUI is available.Source: A. Interface · p. 3

B. Conventions

PyAbel standardizes pixel-coordinate conventions while allowing flexible treatment of image symmetry and negative transform values.

B. Conventions

  • Pixel values correspond to r = (0, 1, 2, ..., n−1), so an image containing both sides of the axis has odd width.For an even-width detector image, a half-pixel shift may be needed if it is perfectly centered; the authors say this is usually insignificant compared with real-world shifts.Source: B. Conventions · pp. 3–4
  • Users can average selected image quadrants or transform them separately; by default, each quadrant is processed separately and recombined without assuming either symmetry.This flexibility accommodates imperfections or noise that make quadrants imperfectly symmetric.Source: B. Conventions · p. 4
  • Performance benchmarks assume left–right symmetry and report n as the width of a square image, so only one side needs transforming.A 513×513 image is treated as a 513×257 array for the transform.Source: B. Conventions · p. 4
  • PyAbel retains negative transform values, keeping methods linear and allowing images to be averaged before or after transformation without systematic baseline error.Negative values can be suppressed by setting them to zero.Source: B. Conventions · p. 4

IV. COMPARISON OF TRANSFORM METHODS

The methods generally produce similar reconstructions, but their errors and noise behavior differ across the Gaussian test, experimental image, and angularly integrated spectrum. In the Gaussian test, errors concentrate near the origin; in the experimental data, noise suppression varies by method.

IV. COMPARISON OF TRANSFORM METHODS

  • In the experimental image, linbasex produces the smoothest reconstruction, while basex regularization, direct, and three point also show strong noise suppression.The basex regularization factor is 200; the authors report significant suppression without noticeable broadening of narrow features.Source: §IV · p. 4, Figure 3 · p. 5
  • After angular integration, most methods agree to within about one pixel, although linbasex shows slightly more baseline noise.The integrated curves are the same data as the two-dimensional spectra in Fig. 3.Source: §IV · p. 4, Figure 4 · p. 6
  • For the 70-point Gaussian, all methods show reasonable agreement, but systematic errors occur near the origin; three point has the lowest error there.Agreement with the analytical result improves as pixel count increases.Source: §IV · p. 4, Figure 2 · p. 5
  • Across the full photoelectron momentum distribution, methods look similar; close peak comparisons are nearly identical, and most show little noise between peaks.These comparisons are shown in Fig. 3.Source: §IV · p. 6

A. High-level efficiency optimization

Efficiency improvements apply both to individual transforms and to the wider workflow. PyAbel supports comparing methods, reusing size-specific precomputations, and speeding up integration steps.

A. High-level efficiency optimization

  • Faster transforms let users explore noise removal, smoothing, centering, and circularization schemes more rapidly and effectively.The passage notes this can benefit even users transforming only a few images.Source: A. High-level efficiency optimization · p. 6
  • A common interface makes it easier to compare methods and select the fastest one that produces acceptable results for a specific application.Fast angular and radial integration can also help when those steps limit a data-processing workflow.Source: A. High-level efficiency optimization · p. 6
  • PyAbel can precompute and cache information for arbitrary image sizes, crop larger cached basis sets for smaller images, and extend smaller sets for larger images.This addresses size mismatches that otherwise require padding, downsampling, or cropping.Source: A. High-level efficiency optimization · p. 6

B. Low-level computational efficiency

PyAbel’s optimized methods span large differences in computational efficiency and can process gigapixel-scale images. Its matrix-algebra implementations use optimized BLAS libraries, whose exact implementation affects performance.

B. Low-level computational efficiency

  • PyAbel’s fastest methods use NumPy matrix algebra backed by BLAS, yielding performance comparable to optimized C/Fortran.Performance depends on the installed BLAS implementation; MKL and Accelerate produced the fastest benchmarks in these tests.Source: B. Low-level computational efficiency · pp. 6–7
  • Most methods run faster when appropriately sized basis sets have already been generated; basex and three point also require basis-set generation time.Two point and onion peeling basis-set generation takes a similar time to three point.Source: B. Low-level computational efficiency · p. 7
  • For typical 500–1000-pixel image widths, basex and the Dasch methods consistently out-perform other methods, often by several orders of magnitude.Hansenlaw exhibits nearly n^2 scaling and is expected to outperform other algorithms for large images.Source: B. Low-level computational efficiency · p. 7
  • 4.30 gigapixels: hansenlaw and three point completed transforms of 65 537 × 65 537-pixel images on a dual-processor computer.The desktop computer tested handled images up to 1.07 gigapixels.Source: B. Low-level computational efficiency · p. 7

C. High-framerate transforms

Several methods reach high-definition video throughput for images around 1000 pixels wide. Basex retains high-definition throughput when its regularization parameter is adjusted for each frame.

C. High-framerate transforms

  • Nearly 100 Mp/s: basex, onion peeling, two point, and three point methods can transform images with n ≈1000 at high-definition video rates.The paper describes this as the first achievement of Abel transforms at high-definition video rates.Source: C. High-framerate transforms · p. 7
  • Basex remains fast enough for high-definition video rates when its regularization parameter is changed for each frame.Although adjustment adds computation, users can vary regularization strength and immediately observe its effect, including when analyzing individual images.Source: C. High-framerate transforms · p. 7

VI. CONCLUSION

PyAbel implements forward and inverse Abel transforms with eight inverse-transform algorithms and reports good agreement among their results. The optimized methods reach high-definition video frame rates and transform gigapixel images.

VI. CONCLUSION

  • More than 30 frames per second: PyAbel demonstrated inverse Abel transforms of 1-megapixel images at high-definition video rates.The paper also reports transforming a 65 537 × 65 537-pixel image, a gigapixel-scale demonstration.Source: §VI · p. 7
  • PyAbel implements eight inverse Abel-transform algorithms and reports good agreement among their results.The package supports forward and inverse transforms.Source: §VI · p. 7
  • PyAbel is open-source and freely available, and its development team encourages adding new Abel-transform methods.Source: §VI · p. 7
  • The methods’ computational efficiency varies with image size; most show roughly n^3 scaling, and some reach high-definition video throughput.Figure 5 presents transform time and pixels-per-second performance, including basis-set generation times for basex and three point.Source: Figure 5 · p. 8
Loading 1902.09007v1…