Refined Pixel Size and Cs Value

Hi - I was wondering in cryoSPARC where to see what the system is calculating the refined pixel size and Cs values at? I know those values will refine from what you put in at setup based on the jobs, but I was wondering where that information can be pulled from. Thanks

The pixel size is not refined, just used as input - Cs should be visible in the log file during CTF refinement.

I’m not seeing it in the event log for global or local CTF refinement. I’m I looking in the right spot or is it labeled something different?

It will only be there if you have selected to fit spherical aberration


It’s available in Global CTF refinement, but only if you enable it - also NU Refine, but I’ve had global CTF refinement give some really excessive magnification anisotropy and beam tilt when done in NU Refine in the past, so now usually do it as a separate job. If not enabled, it doesn’t report Cs at all.

edit: Thought I’d hit reply on this, obviously not as it’s still in drafts.

1 Like

Is there any job in cryosparc that shows a difference in nominal mag put in at the movie import job vs ‘calculated’ pixel size based on what is being calculated in the map?

Not that I’m aware of. :frowning:

1 Like

Cs refinement doesn’t change the magnification of the map, but it accounts for the error in computing the CTF on the reciprocal pixel grid given the pixel size is wrong.

When you do refinements, with CTF refinement options turned on, information for some of the CTF groups (number to plot) will be shown in the event log but at the third or second to last checkpoint. If you have several groups I would recommend opening up the .cs file and averaging the group Cs values, to compute the real pixel size.

The formula is true pixel size = (wrong pixel size) * (true Cs / refined Cs)^1/4 [1]. If you have images with gold in them, I recommend magCalEM [2] to estimate the pixel size. On our Krios with the correct pixel size, I see Cs refine to 2.70004 or something like that, within a micron or few microns of the true value.

If you get a different pixel size via Cs refinement, you can just change the spacing of the map in ChimeraX or with alterheader.

[1] Pixel size issues — RELION documentation


And, as previously discussed in other threads here, if pixel size varies too much, it can be better to re-process with the correct pixel size; although in terms of dose it’s fairly forgiving if you get to Bayesian polishing/RBMC as they effectively re-estimate it anyway.

1 Like

This is great! Thanks. This will go a long way to calming concerns within our group and help end a pixel size discussion

@rbs_sci @olibclarke @DanielAsarnow In the refinement meta data log I’m seeing a psize value. Is that a calculated pixel size because it’s different than the pixel size I supplied? I just was wondering if maybe psize stood for pixel size or if it stood for something else. Thanks for helping me with my ignorance of the log values

Are the particles downsampled? blob/psize_A is the pixel size in the particles.

They are eer files so the EER upsampling was set to 1 instead of 2. Not sure if that would account for that

If you have the resources, you can estimate the best Cs (maybe it is not exactly 2.7) and reprocess (Import, Patch Motion, Patch CTF, curate) with different Cs from the import. Then to really determine differences extract the same particles (reassign particles job) and see if the different Cs does indeed impact your data. Large deviations could be wrong pixel size, but with .eer upsampling the Import job should account for all of this.