This is a repository for the new parallelized version of 2DFFT, a code that allows the user to isolate and measure the spiral arm pitch angle of galaxies.

Toy model of 2 armed, barred, spiral with a pitch angle of 25 degrees.


P2DFFT has simplified the user input and depending on the number of cores available, runs significantly faster than the older serial version, 2DFFT. Further enhancements include:

  • Allowing direct input of FITS images
  • Optionally outputting inverse Fourier transform FITS images
  • Ability to generate idealized logarithmic spiral test images of a specified size that have 1 to 6 arms with pitch angles of -75 degrees to 75 degrees
  • Ability to output Fourier amplitude versus inner radius and pitch angle versus inner radius for each Fourier component (m = 0 to m = 6)
  • Ability to calculate the Fourier amplitude weighted mean pitch angle across m = 1 to m = 6 versus inner radius
  • Ability to calcualte overall Fourier spectrum over all annuli


If you publish results using P2DFFT, please cite the DOI associated with the appropriate software version below and the following papers:

2DFFT can be found here. If you publish results using this code, please cite the following paper:

Available Versions

We recommend downloading the latest version of P2DFFT for use. The latest version can always be found at  https://doi.org/10.5281/zenodo.3165700.

Each version contains a detailed PDF readme file for help with installation and use.

Version DOI Date Comments
p2dfft-5.3.2.tgz DOI 04 May 2020 Enhancements, bug fixes, and code cleanup/organization
p2dfft-5.3.1.tgz https://doi.org/10.5281/zenodo.3647563 05 Feb 2020 Enhancements, bug fixes, and other minor changes
p2dfft-5.2.2.tgz https://doi.org/10.5281/zenodo.3238638 29 Aug 2019 Bug fixes
p2dfft-5.2.1.tgz https://doi.org/10.5281/zenodo.3238639 04 Jun 2019 Bug fixes
p2dfft-5.2.tgz https://doi.org/10.5281/zenodo.3165701 22 May 2019 Major updates, bug fixes, add Zooniverse support and new pitch angle determination algorithm
p2dfft-4.4.tgz Rebase the code to Ubuntu 16.04 LTS and add options to spiral.c to set arm sweep and luminosity change
p2dfft-4.2.tgz Fix missing makefile and CHANGES files in V4.1 and add -a option to avg.py
p2dfft-4.1.tgz Minor bug fixes when using the -n [nautical mile] option on the avg.py tool
p2dfft-4.0.tgz Major update to switch to using the Harvard FFTW3 libraries for performance and better licensing terms. Also further updates to avg.py output plotting program, bug fixes, additional documentation, and more usuability enhancements
p2dfft-3.5.tgz Major updates to avg.py output plotting program, bug fixes, and usuability enhancements
p2dfft-3.3.tgz Updated instructions, add support for reentrant flag in CFITSIO libraries, and correct error in handling ASCII FITS files
p2dfft-3.2.tgz Eliminated compatibility issue between C++11 and GCC versions older than 4.9
p2dfft-3.1.tgz Initial release