Awesome
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.
<a href="https://www.youtube.com/watch?v=qYgJDb_Ko2E"><img src="docs/src/assets/julia_con.jpg" width="300"></a>
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:
- FFTW.jl for FFTs
- NFFT.jl for non-uniform FFTs
- FractionalTransforms.jl offers 1D fractional Fourier transforms
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!