Documentation | Build Status | Code Coverage |
---|---|---|
This package contains various functions that are useful for working with and in Fourier space.
FourierTools.jl
is available for all version equal or above Julia 1.6.
It can be installed with the following command
julia> ] add FourierTools
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.
By default we set 4 Threads. Use FFTW.set_num_threads(N)
to set N
threads.
There are numerous packages related to Fourier transforms which offer similar functions or which this package is based on:
- FFTW.jl for FFTs
- NFFT.jl for non-uniform FFTs
- FractionalTransforms.jl offers 1D fractional Fourier transforms
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}}
Feel free to file an issue regarding problems, suggestions or improvement ideas for this package!