when running global CTF refinement job i would like to separate tetrafoil and Cs/ you can in principle do this by ticking on and off the option but it seems that it actually doesnt work. if I ask to refine only the tetrafoil it also refines the Cs and vice versa.
I believe it refines both, but only retains the refined value for the selected parameter, but perhaps the devs can clarify?
It’s like Oli says, it always runs the stages but doesn’t save the results. I believe this is because of the Zernicke polynomial model, the physical parameters as we normally think of them are not actually fit themselves.
Just confirming that the behaviour is as @olibclarke and @DanielAsarnow have described: that all coefficients of both the even/odd Zernicke polynomials are fit, but then only the ones indicated are actually updated in the particle CTF data. We believe that this is equivalent to only fitting the Zernicke coefficients that correspond to the indicated parameters, due to the Zernicke polynomials being orthonormal over the unit disk. However, we will verify that this is the case to ensure that these two things are equivalent.
NB: The actual regression coefficients that CryoSPARC uses (i.e. the multiplicative coefficients on the Zernicke polynomials that are used by CryoSPARC’s CTF convention, the analogous coefficients are c and d in the IUCrJ paper, e.g. see eqn. 8) are related to the physical parameters by multiplicative scale factors that convert them to units of distance in Å (or mm for cs). So in that sense the mapping that converts Zernicke polynomial coefficients to CTF parameters like tetrafoil, cs, trefoil, tilt (coma), etc. is a “diagonal” mapping.