FSC raw data for independent plotting

Hi, perhaps this is a naive question but where can I find the actual raw data for FSC and GSFCS curves calculated from Refinement and NU-Refinement? I would like to extract them and plot them independently.

Many thanks in advance,


Hi Edoardo,

The raw data is in the link labeled txt, above the plot.


1 Like

Hi Oliver,

Thanks a lot :slight_smile: as always happens the solution is just standing in front of us.



Sorry to dredge from the archives but do you know how to do this from the LocalRes GSFSC plots? The same .txt link isn’t present in my panel.

I can open a new thread if that’s the correct way to do this (pretty new here).


Hi @bpp,

What version of cryoSPARC are you running?

- Suhail

Hi I’m on v 2.12.4 - should I upgrade to get this feature?


Hi @bpp,

Sorry I missed the fact that you were running a local resolution estimation job. We just added raw FSC value data to the following job’s outputs, they will be available in the next release:

  • Local Resolution Estimation
  • Align 3D Maps
  • Local CTF Refinement
  • Global CTF Refinement
  • Heterogeneous Refinement
  • Particle Subtraction


Ah ok great - thanks!


Hi @bpp, @Edo, @olibclarke,

We’ve added the raw FSC value data to the jobs in cryoSPARC v2.14.0, out now. Thanks!


Great! Would it also be possible to add in data for the phase randomized FSC, rather than just the corrected curve? We have been asked for it in review in the past, and I don’t think there is any way to get the values in cryoSPARC at present?


I guess it may be simple question for most of you but when I download the .txt file for FSC plotting, the X axis is wavenumber. How should it be converted to Resolution (Angstrom)?

@olibclarke, in the FSC .txt files, there’s a column called
I believe that’s what you’re referring to as the phase-randomized FSC - it is

    fsc_t = masked FSC between original A and original B
    fsc_n = masked FSC between A with high-res phases randomized, and B with high-res phases randomized
    fsc_noisesub_true = (fsc_t - fsc_n) / (1.0 - fsc_n)

This is equation 4 from https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3834153/

1 Like


The wavenumber can be converted to resolution using:

resolution = ( psize * box size ) / wavenumber

resolution in A, psize in A/pix, box size in pix, wavenumber is unitless

1 Like

Great - thanks Ali - yes, that is exactly what I was looking for but couldn’t find, much appreciated


Thank you Ali. Appreciate much.

Ah - looked at what you wrote a bit more closely - what I was actually looking for was what you have here as fsc_n - the FSC between the two phase randomized half maps. I don’t think that is in the text file at the moment?

@olibclarke is right, the phase randomised FSC is not included in the text file.

You have to re-arrange the equation from @apunjani above and perform the calculation to yield this curve e.g. in a spread sheet.

So for the sake of having this documented for others. Ali’s comment above relates fsc_n to two columns in the text file (fsc_noisesub_true and fsc_t - “tightmask”), so with a smidge of maths

fsc_n = (fsc_t - fsc_noisesub_true) / (1.0 - fsc_noisesub_true)

will yield fsc_n (or the phase randomised FSC).



Hello @CharlesBayly-Jones,

Do you perhaps know how to calculate resolution of the FSC phase randomized mask plot (according to FSC=0.143 criteria)?

Thank you!