pyFFS: A Python Library for Fast Fourier Series Computation and Interpolation with GPU Acceleration

10/01/2021
by   Eric Bezzam, et al.
0

Fourier transforms are an often necessary component in many computational tasks, and can be computed efficiently through the fast Fourier transform (FFT) algorithm. However, many applications involve an underlying continuous signal, and a more natural choice would be to work with e.g. the Fourier series (FS) coefficients in order to avoid the additional overhead of translating between the analog and discrete domains. Unfortunately, there exists very little literature and tools for the manipulation of FS coefficients from discrete samples. This paper introduces a Python library called pyFFS for efficient FS coefficient computation, convolution, and interpolation. While the libraries SciPy and NumPy provide efficient functionality for discrete Fourier transform coefficients via the FFT algorithm, pyFFS addresses the computation of FS coefficients through what we call the fast Fourier series (FFS). Moreover, pyFFS includes an FS interpolation method based on the chirp Z-transform that can make it more than an order of magnitude faster than the SciPy equivalent when one wishes to perform interpolation. GPU support through the CuPy library allows for further acceleration, e.g. an order of magnitude faster for computing the 2-D FS coefficients of 1000 x 1000 samples and nearly two orders of magnitude faster for 2-D interpolation. As an application, we discuss the use of pyFFS in Fourier optics. pyFFS is available as an open source package at https://github.com/imagingofthings/pyFFS, with documentation at https://pyffs.readthedocs.io.

READ FULL TEXT

page 10

page 13

page 16

research
08/28/2020

Fast Partial Fourier Transform

Given a time series vector, how can we efficiently compute a specified p...
research
01/29/2021

A Fast Template Periodogram for Detecting Non-sinusoidal Fixed-shape Signals in Irregularly Sampled Time Series

Astrophysical time series often contain periodic signals. The large and ...
research
10/04/2021

A New Acceleration Paradigm for Discrete CosineTransform and Other Fourier-Related Transforms

Discrete cosine transform (DCT) and other Fourier-related transforms hav...
research
11/11/2020

Cryo-RALib – a modular library for accelerating alignment in cryo-EM

With the enhancement of algorithms, cryo-EM has become the most efficien...
research
09/21/2022

Compressing Sign Information in DCT-based Image Coding via Deep Sign Retrieval

Compressing the sign information of discrete cosine transform (DCT) coef...
research
10/23/2018

Nonequispaced Fast Fourier Transform (NFFT) Interface for Julia

This report describes the newly added Julia interface to the NFFT3 libra...

Please sign up or login with your details

Forgot password? Click here to reset