Pruning prefencial orientation

i have a particle that has a prefered orientation, no surprise there, i have enough particles that i can afford to prune 90% of those preferentially orientated particles. Is there a way of either limiting the number of particles per class or directly removing some from the 3D


I have the same issue, I wonder if there is an easy way to do it.

My program, which computes orientation distributions rapidly, could get you most of the way there, you just need to choose how to throw away particles.

Thanks for the reply, I was wondering on what would be the correct procedure followed:
After refinement, do I convert the Particles-Alignments3D file to a star file using your programs, then use star2bild to compute orientations or is there something else?

As-is the program just provides a starting point, you’d need to extend the code. You could compute the orientations using a lower Healpix order (2 maybe) so that all the over-represented particles go into one bin, and then remove them by thresholding on the alignment probability.

Another way is to do 2D classification in cryosparc, take the classes for the over-represented view, run another 2D classification to split them up more and then combine the best ones with all of the other classes from the first job.

I also encourage you to try the reconstruction in cisTEM, Niko’s post-reconstruction filter accounts for view representation and tends to limit the map distortion caused by biased orientation distributions.

@DanielAsarnow - which filter are you referring to in CisTEM out of interest? Is this the “matched filter” described in the cisTEM paper?

It’s not the matched filter, which is just for projection matching. Now I’ve confused myself again, but I think it’s baked into the way the CTF reconstruction & insertion counts at each Fourier voxel are used. I believe there’s a relationship to Harauz & van Heel, “Exact filters for general geometry three dimensional reconstruction,” Optik 1986.

Sorry for the naive question, but which file exactly do I need to convert in order to get a star file so that I can use the

@stavros A file with alignments, e.g. from refinement.

1 Like

I am using and it is really great. I can see the orientation distribution overlayed on my map, showing the abundance of particles in my sample’s preferred orientation.

Since I also have more than enough particles, I wonder how I can use this to practically create a more evenly distributed particle pool. I have had some partial success by playing with 2D classification as described by DanielAsarnow above. I wonder if there is a more accurate way of doing so.

By using the lower Healpix order in I do get the over-represented particles in fewer bins. I don’t understand how can I practically remove particles associated with these bins. What is the meaning of “removing them by thresholding on the alignment probability”, how can this be practically done?

Does anyone know if there are additional known tools that can automatically deal with overrepresented orientations?


Hi Lior - the “Rebalance 2D Classes” tool in cryosparc may be worth a look, I have found it useful in cases like this



Hi @lalmagor,

Just in addition to Oli’s suggestion, you can find some more information about how to use the Rebalance 2D Classes job type at this guide page. While it doesn’t use the alignment posterior precision to remove the overrepresented views, it instead uses 2D classes as a proxy for the sample space of views and applies a clustering procedure to identify 2D classes that correspond to oversampled views, allowing particles from oversampled views to be discarded.



Thank you very much!
I will install the beta version and give it a try.

Hi @lalmagor, Rebalance 2D classes is available in v2.15.

I have v2.15.0+200528 installed and can’t find it. Does it appear under a different name or as an option under another job type?

Hi @lalmagor Sorry about that, my mistake, it is only available in v2.16+. Let me know if you run into issues updating. Thanks!