Popularity
54 Stars
Updated Last
3 Months Ago
Started In
March 2021

FourierTools.jl

Documentation Build Status Code Coverage

This package contains various functions that are useful for working with and in Fourier space.

Installation

FourierTools.jl is available for all version equal or above Julia 1.6. It can be installed with the following command

julia> ] add FourierTools

Features

A quick introduction was given at the JuliaCon 2021.

The main features are:

  • sinc interpolation allows to up and downsample a (bandlimited) signal
  • FFT based convolutions
  • array/image rotation
  • array/image shifting (including noteworthy subpixel shifts)
  • array/image shearing
  • convenient wrappers of NFFT.jl
  • several tools like ffts, ft, fftshift_view etc. allowing simpler use with Fourier transforms
  • Chirp Z-Transform
  • Fractional Fourier Transform
  • reexports FFTW.jl

Have a look in the examples folder for interactive examples. The documentation offers a quick overview.

FFTW Threading

By default we set 4 Threads. Use FFTW.set_num_threads(N) to set N threads.

Related Packages

There are numerous packages related to Fourier transforms which offer similar functions or which this package is based on:

Cite

If you use this package in an academic work, please cite us! See on the right side the Cite this repository:

@misc{Wechsler_FourierTools.jl__Efficiently,
author = {Wechsler, Felix and Heintzmann, Rainer},
title = {FourierTools.jl - Efficiently Working with Fourier Space},
url = {https://github.com/bionanoimaging/FourierTools.jl}}

Development

Feel free to file an issue regarding problems, suggestions or improvement ideas for this package!