This is an archive of the old MediaWiki-based ImageJ wiki. The current website can be found at

Fourier Ring Correlation Plugin

Fourier Ring Correlation (Fiji)
Author Olivier Burri, Alex Herbert
Maintainer Olivier Burri
File FRC_-1.0.2.jar
Source github page
Initial release September 2016
Latest version July 2018
Development status stable
Website BIOP Staff Page


January 2018

The plugin was moved to a new location, to help sort our plugins.

July 2018

Following information kindly provided by Alex Herbert and Miguel Lermo, we have proceeded to correct the following bugs

  1. FRC_ Plugin was added to package ch.epfl.biop.frc (instead of no package)
  2. POM was updated to use latest pom-scijava version
  3. FIRE number is now computed correctly by checking image size
  4. Images are ensured to be a multiple of two by adding one pixel of padding as needed
  5. Angles are converted to radians, ensuring a better radial sampling

These bugs were present in the first FRC code we had adapted for this plugin, and were recently brought to our attention. In case your images are not powers of two, check the value of the FIRE number as it might not be correct with the previous version of the code.

If you are using FRC to compare different images or conditions, and your images do not change size, then the relative differences are still perfectly valid, but absolute values might be off.

June 2019

A remark from Brian Patton, University of Strathclyde, Glasgow says that the original computation for the numerator was wrong, namely: code|numerator[i] = dataA1[i] * dataA2[i] + dataB1[i] * dataB2[i]; And should be instead: abs((FFT(Image1)*Complex_Conj(FFT(Image2)))


Making use of the Fourier Ring Correlation Implementation by Alex Herbert which is itself adapted from the FIRE (Fourier Image REsolution) plugin produced as part of the paper Niewenhuizen, et al (2013). Measuring image resolution in optical nanoscopy. Nature Methods, 10, 557 [1]


Threshold Methods

There are three threshold methods currently implemented

  1. Fixed 1/7: Finds the FIRE number when the FRC curve reaches a correlation value of 1/7.
  2. Half-bit: Threshold method where the intersection of the threshold curve with the FRC defines the point where there is 1/2 bit of information per pixel.
  3. Three sigma: The intersection of the FRC curve with this threshold defines the value where the FRC begins primarily representing high frequency noise.

Please see the publication van Hell and Schatz, Fourier shell correlation threshold criteria, Journal of Structural Biology 151, 2005[2] for more information on the calculation of these criteria.

Image Calibration

We recommend you use a calibrated image so that your results are in calibrated units (microns, millimeters, etc..) directly. The plugin will always return both the non calibrated values and the calibrated ones as separate columns.


This plugin is available from the PTBIOP Update Site This places it in a "BIOP" Folder in the plugins directory of Fiji/ImageJ


Direct Use

Error creating thumbnail: Unable to save thumbnail to destination
Plugin Dialog choices Standard Use

Call up the plugin using Plugins->BIOP->Image Analysis->FRC->FRC Calculation....

You need two images open to perform the FRC.

Batch Mode

Error creating thumbnail: Unable to save thumbnail to destination
Plugin Dialog choices in Batch mode

There is also a Batch Option under Plugins->BIOP->Image Analysis->FRC->FRC Calculation (Batch)...

This dialog needs two folders. The plugin will open one folder, and perform the FRC for each image that has an image in the second folder with the same name.


The plugin writes the FIRE (Fourier Image REsolution) number on a Results Table that gets appended as the plugin gets used. The column name reflects the calibration of the image and the threshold method selected.

Results Table example from FRC Calculation


The Plugin can display a plot of the FRC curve, along with the LOESS smoothed version of the curve. Finally it displays the threshold method used and the intersection of the FRC with the threshold, providing the FIRE number. The X dimension is in the frequency domain and represents pixels-1

FRC Curve example using 1/7 Threshold condition

In the case of batch processing, if Save Plot is checked, the plugin creates a new folder in the parent directory called "Graphs" and saves an over-sampled plot with the name of the image and threshold method.

Macro Recordable

Making use of the GenericDialog class, the plugin is macro-recordable. An example is shown below

run("FRC Calculation...", "image_1=[first_image.tif] image_2=[second_image.tif] resolution=[Fixed 1/7] display");

//Example with batch
run("FRC Calculation (Batch)...", "first=[D:\\FRC Tests\\A] second=[D:\\FRC Tests\\B] resolution=[Fixed 1/7] save");

Running from a Plugin

If you would like to use the FRC class in your own plugin, you can either use the one from Alex Herbert on GitHub if you're already using his excellent SMLM plugins. Otherwise you can use the one that was re-purposed here through the following import

import ch.epfl.biop.frc.FRC;

And then use the FRC Class

FRC frc = new FRC();

// Get FIRE Number, assumes you have access to the two image processors.
double fire = frc.calculateFireNumber(ip1, ip2, FRC.FIXED_1_OVER_7);

There are other methods to get the FRC curve, see the file, which was very well documented.



  1. Nieuwenhuizen, Robert P J; Lidke, Keith A & Bates, Mark et al. (2013-06), "Measuring image resolution in optical nanoscopy", Nat Meth 10 (6): 557–562, ISSN 1548-7091
  2. van Heel, Marin & Schatz, Michael (2005-09), "Fourier shell correlation threshold criteria", Journal of Structural Biology 151 (3): 250–262, ISSN 1047-8477, DOI 10.1016/j.jsb.2005.05.009