Job: Class Probability Filter

Select a subset of extracted particles.


Select a subset of extracted particles based on the posterior probability of their assigned 2D or 3D classes.

Use this job to filter out junk particles and improve the final 3D reconstruction resolution.

Typically, this job type is used by advanced users in order to separate particles in difficult-to-classify datasets. Particles that do not get a good class probability score under a specific class may be outliers. For example, in a 3-class ab-initio reconstruction, if most particles are assigned to class 0 with probability 0.99, then a particle that is assigned to class 0 with probability 0.5, class 1 with prob 0.25, and class 2 with prob 0.25 is unlikely to be a good particle. This particle would be considered to be part of class 0 in the standard output of ab-initio reconstruction. By using this job, a user can filter out particles that did not achieve a certain minimum probability amongst the selected class(es).

When multiple "good" classes are present, this job should be run only once, but specifying all good class numbers at the same time (in the 3D Class Indexes) parameter. In this case, the probability for each particle will be summed between the selected classes, and then compared to the threshold. So if a particle gets 0.33 in class 0 (good), 0.33 in class 1 (good) and 0.33 in class 2 (bad), and the threshold is 0.6, this particle will have 0.33+0.33 = 0.66 score and therefore be retained.

When running this job using 2D classified particles (i.e. not from a 3D ab-initio or hetero refinement), you should first run select 2D classes and select the classes to keep. Then, this job can be run from the output of Select 2D, and it will allow filtering of particles that did not achieve a high enough probability in their assigned class. In this case, probabilities across classes will not be summed, since 2D classification only outputs the probability for the best class, not all classes.


  • Particles

    • To filter out based on 2D class probabilities, connect particles from a 2D Classification job

    • To filter out based on 3D class probabilities, connect particles from a multi-class Ab-initio Reconstruction job or Heterogeneous refinement job.

Common Parameters

  • 3D Class Indexes: (Optional) Comma-separated list of class indexes. Specify this when using the particles_all_classes output from Ab-initio reconstruction. A particle is selected if the sum of the posterior probabilities is greater than the given 3D Class Threshold. For example, to sum all classes from a 3 class ab-initio reconstruction, enter 0,1,2

  • 3D Class Threshold: (Optional) A number between 0 and 1. If specified, excludes particles with smaller total 3D ab-initio class posterior probabilities. Typical values range from 0.5 to 0.9. If the 3D Class Indexes parameter is specified, this value is compared to the sum of probabilities from inputs slots particles.alignments_class_0, particles.alignments_class_1, etc.; otherwise compared with particles.alignments3D

  • 2D Class Threshold: (Optional) A number between 0 and 1. If specified, excludes particles with smaller 2D class posterior probabilities. Compared with probabilities from the particles.alignments2D input slot


  • Particles

Notes and Limitations

In the Job Builder, drag the desired particles output from a previous 2D Classification or Ab-Initio Reconstruction job into the particles input slot and expand it to see which input are still required based on the specified parameters.

To prevent the validation issue above, re-connect the particles_all_classes output from an Ab-initio reconstruction job with at least 3 classes.

Limitation: There is no way to preview how many particles will be left in the final output without running the job.

Common Next Steps

  • Ab-Initio Reconstruction

3D Refinement

Last updated