Principal component analysis (PCA) is a classical method for dimensionality reduction, compression and de-noising. The principal components are the eigenvectors of the sample covariance matrix. In image analysis, the principal components are often referred to as "eigenimages" and they form a basis adaptive to the image set. In SPR, it is desirable to include all planar rotations of the input images for PCA, because such images are just as likely to be obtained in the experiment, by in-plane rotating either the specimen or the detector. PCA, known in this field as multivariate statistical analysis (MSA) is often one of the first steps in SPR. When all rotated images are included for PCA, then the eigenimages have a special separation of variables form in polar coordinates in terms of radial functions and angular Fourier modes. It is easy to steer the eigenimages by a simple phase shift, hence the name "steerable PCA". Computing the steerable PCA efficiently and accurately is however challenging, because the images are sampled on a Cartesian grid, while steering operations often require a polar grid.

We developed an accurate algorithm for steerable PCA (Zhao and Singer, 2013) whose efficiency has been further improved in Zhao et al. 2016. Our algorithm starts by expanding each image, originally given on a Cartesian grid, in the Fourier-Bessel basis for the disk. Because the images are essentially bandlimited in the Fourier domain, we use a sampling criterion to truncate the Fourier-Bessel expansion such that the maximum amount of information is preserved without the effect of aliasing. A similar sampling criterion was previously used in the context of 3D reconstruction by A. Klug and R. A. Crowther (Nature, 1972). The constructed covariance matrix is invariant to rotation and reflection and has a special block diagonal structure. PCA is efficiently done for each block separately. This Fourier-Bessel based PCA detects more meaningful eigenimages and has improved denoising capability compared to traditional PCA for a finite number of noisy images. A version that uses the 2-D Slepian Functions (instead of the Fourier-Bessel basis) was introduced in Landa and Shkolnisky, 2017.