Local and global CTF refinement are supposed to use the refinement mask by default for local CTF refinement, but the FSC in the log file seems to correspond to the FSC mask, not the refinement mask.
See attached FSC curves from a NU refinement, subsequent CTF refinement using default mask, and CTF refinement manually replacing the mask with the
The weird thing is that even if I manually replace the mask with
volume_mask_refine, the FSC curve calculated in the log file still doesn’t seem consistent with that expected for the refinement mask - it seems the same no matter what I do.
EDIT: I am assuming that the “loose” mask in the refinement log is the same as the refinement mask - is this the case?
In a refinement, the “tight” mask in the FSC plots is output as the
volume.mask_fsc result (rather than the “loose” mask). This mask is auto-generated by thresholding and padding. The mask used to suppress noise before alignment is output as
volume.mask_refine but it’s not used for FSC computation in the refinement. CTF Refinement uses the input mask group to suppress noise and compute FSC, and if not present, will use the
volume.mask_refine result instead.
I believe this should explain the discrepancy – if you manually input the
volume.mask_fsc to the mask input group of a CTF refinement, you should observe the FSCs looking the same as the tight mask red curve in a refinement, which agrees with the plots
Ah got it - thanks, makes sense now!