3D Variability Analysis: Directly resolving continuous flexibility and discrete heterogeneity from single particle cryo-EM images