Problem with inflated FSC after 3d classification & local refinement

My sample is first refined with helical refinement and then local refinement. Clearly, there are some overlapped particles due to automatic picking. During helical refinement, I can put the option to divide particles using Micrograph_uid to avoid the overlapping problem. This works well with also the local refinement after.

However, I did a 3D classification after the 1st local refinement, getting a class of about 140k particles out of 360k particles. When I did local refinement of the class, the FSC went bonker to Nyquist frequency. It never crossed 0 in no mask, mask, tight, loose. So I suspect the division of the particles after 3D classification is not right and leading to the problem. How can I force the particles to be divided by micrograph_uid again?

Hi @builab,

Thanks for reporting this. You’re right that the current behaviour of 3D classification is to re-split particles from scratch randomly, and that is the source of the strange FSCs. As you noted for helical particle picks, since adjacent picks overlap significantly, if they are randomized to different splits then the effect is the same as having duplicated particles on both sides of the split, thus breaking the independence between the two half-sets.

Local refinement avoids this problem because it reads the particle splits from the input particle stack and doesn’t modify them. We’re looking into the best way to get around this for 3D classification, and we will likely add a parameter that enables preserving the input particles’ alignments3D/split field so that 3D classification could function similarly to local refinement.

Best,
Michael

2 Likes

Thanks. I’m waiting for the changes then.

Best,
H

Hi @builab,

Patch 220302 has just been released, which includes a fix for this issue. In 3D Classification, a "Force re-do FSC split” parameter has been added that forces re-splitting the particles into half-set splits from scratch (this is the current behaviour of 3D Classification, so the added parameter is enabled by default to preserve current behaviour). In your case, you would want to disable this parameter, which preserves the input splits – this would be the recommended workflow for particles originating from previous helical refinements, symmetry expansions, or local refinements.

Let me know if this helps fix the issue!

Best,
Michael

1 Like

I just tested it. It works as expected. Thanks a lot, Michael & the cryosparc team.

1 Like