Monitoring convergence during classification


It would be great to have some more tools to monitor convergence during classification (thinking heterogeneous refinement but also applies to the new 3D classification job).

There are plots in 2D classification that give some sense of this (the number of effective classes and the probability of the best class) but nothing equivalent for 3D.

It would be particularly useful to get a per-class indication of class switching or changes in class percentages - sometimes I find that heterogeneous refinement needs several more iterations than the default to reach convergence, but there is no good way to monitor this. Even just plotting the per-iteration class percentages would be useful for this purpose, but something more sophisticated giving an indication of the directionality of the changes in class assignments would be more useful.

E.g. showing that particles are being evenly exchanged between two classes at convergence would indicate those classes are good candidates for merging, while continued particle flow from the good class into “junk” classes may indicate more cleaning is needed.

(on another note, having a version of heterogenous refinement with local searches and the ability to apply a mask would be really useful - classification without alignments is very useful, but masked classification with local angular searches still has a place)



@olibclarke thanks for the suggestion – request recorded! We’ll look into outputting a plot of some kind (potentially a chord plot) that visualizes class switching.

1 Like

Exactly! chord/circos plots were exactly what I had in mind