PCA - Principal component analysis of image sequences

PCA is in BIJ, the Bio-medical Imaging in Java site.
Version 1.0.


Mathematically, principal component analysis is a matrix diagonalization process that determines the mixture eigenvectors, with the eigenvalues corresponding to the relative presence of each of these mixtures in the image. The (spatial) eigenvectors can also be called 'eigenimages', while the coordinates of each of the eigenimages can be seen as the timecourses for the presence of that eigenimage.

For a NxWxH stack, after PCA there will be N eigenimages of WxH and and a NxN coordinate matrix, with N coordinates for each corresponding eigenimage.

A somewhat poetic description by Bill Christens-Barry:

"Imagine a painting drawn using a palette of n different paints mixtures, each made by using different amounts of a common set of pigments. Imagine also that there is some spectral noise, and that each point of the painting was drawn using only a single paint mixture. Principal component analysis can be used to determine the linear combination of the pure pigments that was used to make each mixture. Each mixture is termed a "principal component". PCA is widely used from face recognition to cardiac cycle analysis."


Please reference me if you use my implementation:
M. D. AbrÓmoff, Y. H. Kwon, D. Y. Ts'o, H. Li, E. S. Barriga, and R. Kardon. A spatial truncation approach to the analysis of optical imaging of the retina in humans and cats. Proc IEEE International Symposium on Biomedical Imaging 2004 2:1115-1118, 2004.

The original paper by Sirovich, L. and Kirby, M. Low-dimensional procedure for the characterization of human faces, J. Optical Soc. Am,  4:519-524, 1987, can currently (2004) be found here: http://camelot.mssm.edu/publications/larry/ld.pdf. There are many websites out there about using PCA for face recognition.

Some examples in geophysics are here: http://www.geop.ubc.ca/CDSST/eigenfaces.html.

Last updated 2004/4/20.