Separate particles based on tilt angle distribution

Do you know of a simple approach to classify particles/segments by their tilt angle distribution after standard helical refinement job? My particle stack has a range of tilt angles (up to ~10 degrees), with some particles having no tilt. I’m interested in isolating these untilted particles. Thank you!


There are certainly more fancy ways by manipulating the .cs file with the particle stack - especially useful when you have several stacks to process - , but I’d use the Curate Exposures job for that.

Hi Carlos,

Thanks for the suggetion. Your suggetion of ‘Curate exposure job’ seems interesting. I can see the ‘Tilt angel’ parameter for each micrograph in the UI of this job. Is this the parameter you refer to? I am little skeptical about the number it shows. For the filament of 300 A diameter, it is unlikely to tilt beyond 5-10 degree in thin ice, whereas the ‘Tilt Angle’ goes upto 70 degree for for my micrographs. Any hint?

Yes, but that’s the tilt angle as refined by the CTF determination. I usually remove the unexpected values as they tend to correspond to bad images - unless you have a reason for that, of course. I like this job a lot, you can see the CTF fit and the motion-corrected micrograph together with the all the values, including the number of picks if you include the particle coordinates before launching the job.

Hi Carlos, Thank you for the reply. Yes, it is indeed great to remove particles/micrographs based on the CTF and motion-correction stats. I think I am looking for something different, I am looking for separate helical segments having ~0 degree out-of-plane tilt from tilted one.

Oh no, now I see, you were talking about after the helical reconstruction, not tilted images… completely off-topic. And I can’t help you with this, then. Sorry for this.

No worries! I appreciate your suggetion though!

Hi @ravi123sonani ,

You would have to do a bit of scripting to isolate this information; unfortunately we plot it but don’t save it explicitly, so it is still “encoded” in the pose information. For example, you could find this out by using CryoSPARC Tools to open the cs file of the particles from the helical refinement, reading in the axis-angle poses through the alignments3D/pose field, and then converting these from axis-angle vectors into ZYZ Euler angles (RELION’s convention as linked would have the tilt angle as the second euler angle, i.e. rlnAngleTilt).

It may be easier to use external tools like csparc2star to do this conversion for you, as the second euler angle in the star file would be the tilt you’re looking for.


Hi @mmclean,

Thank you for your suggetion. I will try this.