, Volume 7, Issue 1, pp 37–53 | Cite as

PyMVPA: a Python Toolbox for Multivariate Pattern Analysis of fMRI Data

  • Michael HankeEmail author
  • Yaroslav O. Halchenko
  • Per B. Sederberg
  • Stephen José Hanson
  • James V. Haxby
  • Stefan Pollmann


Decoding patterns of neural activity onto cognitive states is one of the central goals of functional brain imaging. Standard univariate fMRI analysis methods, which correlate cognitive and perceptual function with the blood oxygenation-level dependent (BOLD) signal, have proven successful in identifying anatomical regions based on signal increases during cognitive and perceptual tasks. Recently, researchers have begun to explore new multivariate techniques that have proven to be more flexible, more reliable, and more sensitive than standard univariate analysis. Drawing on the field of statistical learning theory, these new classifier-based analysis techniques possess explanatory power that could provide new insights into the functional properties of the brain. However, unlike the wealth of software packages for univariate analyses, there are few packages that facilitate multivariate pattern classification analyses of fMRI data. Here we introduce a Python-based, cross-platform, and open-source software toolbox, called PyMVPA, for the application of classifier-based analysis techniques to fMRI datasets. PyMVPA makes use of Python’s ability to access libraries written in a large variety of programming languages and computing environments to interface with the wealth of existing machine learning packages. We present the framework in this paper and provide illustrative examples on its usage, features, and programmability.


Python Neuroimaging software Image analysis MVPA Scripting Machine learning Functional magnetic resonance imaging 



Michael Hanke and Stefan Pollmann were supported by the German Academic Exchange Service (Grant: PPP-USA D/05/504/7). Per Sederberg was supported by National Institutes of Health NRSA grant MH080526. Yaroslav O. Halchenko and Dr. Stephen J. Hanson were supported by National Science Foundation (grant: SBE 0751008) and James McDonnell Foundation (grant: 220020127).


  1. Chang, C.-C., & Lin, C.-J. (2001). LIBSVM: A library for support vector machines. Software available at∼cjlin/libsvm/
  2. Chen, X., Pereira, F., Lee, W., Strother, S., & Mitchell, T. (2006). Exploring predictive and reproducible modeling with the single-subject FIAC dataset. Human Brain Mapping 27, 452–461.PubMedCrossRefGoogle Scholar
  3. Detre, G., Polyn, S. M., Moore, C., Natu, V., Singer, B., Cohen, J., et al. (2006). The multi-voxel pattern analysis (MVPA) toolbox. Poster presented at the Annual Meeting of the Organization for Human Brain Mapping (Florence, Italy).Google Scholar
  4. Efron, B., & Tibshirani, R. (1993). An introduction to the Bootstrap. Boca Raton: Chapman & Hall/CRC.Google Scholar
  5. Efron, B., Trevor, H., Johnstone, I., & Tibshirani, R. (2004). Least angle regression. Annals of Statistics, 32, 407–499.CrossRefGoogle Scholar
  6. Guimaraes, M. P., Wong, D. K., Uy, E. T., Grosenick, L., & Suppes, P. (2007). Single-trial classification of MEG recordings. IEEE Transactions on Biomedical Engineering, 54, 436–443.PubMedCrossRefGoogle Scholar
  7. Guyon, I., & Elisseeff, A., 2003. An introduction to variable and feature selection. Journal of Machine Learning 3, 1157–1182.CrossRefGoogle Scholar
  8. Guyon, I., Weston, J., Barnhill, S., & Vapnik, V. (2002). Gene selection for cancer classification using support vector machines. Machine Learning, 46, 389–422.CrossRefGoogle Scholar
  9. Hanson, S., Matsuka, T., & Haxby, J. (2004). Combinatorial codes in ventral temporal lobe for object recognition: Haxby (2001) revisited: Is there a “face” area? Neuroimage, 23, 156–166.PubMedCrossRefGoogle Scholar
  10. Hanson, S. J., & Halchenko, Y. O. (2008). Brain reading using full brain support vector machines for object recognition: There is no “face” identification area. Neural Computation, 20, 486–503.PubMedCrossRefGoogle Scholar
  11. Haxby, J., Gobbini, M., Furey, M., Ishai, A., Schouten, J., & Pietrini, P. (2001). Distributed and overlapping representations of faces and objects in ventral temporal cortex. Science, 293, 2425–2430.PubMedCrossRefGoogle Scholar
  12. Haynes, J.-D., & Rees, G. (2005). Predicting the orientation of invisible stimuli from activity in human primary cortex. Nature Neuroscience, 8, 686–691.PubMedCrossRefGoogle Scholar
  13. Haynes, J.-D., & Rees, G. (2006). Decoding mental states from brain activity in humans. Nature Reviews Neuroscience, 7, 523–534.PubMedCrossRefGoogle Scholar
  14. Haynes, J.-D., Sakai, K., Rees, G., Gilbert, S., Frith, C., & Passingham, R. E. (2007). Reading hidden intentions in the human brain. Current Biology, 17, 323–328.PubMedCrossRefGoogle Scholar
  15. Jenkinson, M., Bannister, P., Brady, J., & Smith, S. (2002). Improved optimisation for the robust and accurate linear registration and motion correction of brain images. Neuroimage, 17, 825–841.PubMedCrossRefGoogle Scholar
  16. Kamitani, Y., & Tong, F. (2005). Decoding the visual and subjective contents of the human brain. Nature Neuroscience, 8, 679–685.PubMedCrossRefGoogle Scholar
  17. Kriegeskorte, N., Formisano, E., Sorger, B., & Goebel, R. (2007). Individual faces elicit distinct response patterns in human anterior temporal cortex. Proceedings of the National Academy of Sciences of the United States of America, 104, 20600–20605.PubMedCrossRefGoogle Scholar
  18. Kriegeskorte, N., Goebel, R., & Bandettini, P. (2006). Information-based functional brain mapping. Proceedings of the National Academy of Sciences of the United States of America, 103, 3863–3868.PubMedCrossRefGoogle Scholar
  19. Krishnapuram, B., Carin, L., Figueiredo, M. A., & Hartemink, A. J. (2005). Sparse multinomial logistic regression: Fast algorithms and generalization bounds. IEEE Transactions on Pattern Analysis and Machine Intelligence, 27, 957–968.PubMedCrossRefGoogle Scholar
  20. LaConte, S., Strother, S., Cherkassky, V., Anderson, J., & Hu, X. (2005). Support vector machines for temporal classification of block design fMRI data. Neuroimage, 26, 317–329.PubMedCrossRefGoogle Scholar
  21. Millman, K., & Brett, M. (2007). Analysis of functional magnetic resonance imaging in python. Computing in Science & Engineering, 9, 52–55.CrossRefGoogle Scholar
  22. Nichols, T. E., & Holmes, A. P. (2001). Nonparametric permutation tests for functional neuroimaging: A primer with examples. Human Brain Mapping, 15, 1–25.CrossRefGoogle Scholar
  23. Norman, K. A., Polyn, S. M., Detre, G. J., & Haxby, J. V. (2006). Beyond mind-reading: Multi-voxel pattern analysis of fmri data. Trends in Cognitive Science, 10, 424–430.CrossRefGoogle Scholar
  24. O’Toole, A. J., Jiang, F., Abdi, H., & Haxby, J. V. (2005). Partially distributed representations of objects and faces in ventral temporal cortex. Journal of Cognitive Neuroscience, 17, 580–590.PubMedCrossRefGoogle Scholar
  25. O’Toole, A. J., Jiang, F., Abdi, H., Penard, N., Dunlop, J. P., & Parent, M. A. (2007). Theoretical, statistical, and practical perspectives on pattern-based classification approaches to the analysis of functional neuroimaging data. Journal of Cognitive Neuroscience, 19, 1735–1752.PubMedCrossRefGoogle Scholar
  26. Perez, F., & Granger, B. (2007). IPython: A system for interactive scientific computing. Computing in Science & Engineering, 9, 21–29.CrossRefGoogle Scholar
  27. Pessoa, L., & Padmala, S. (2007). Decoding near-threshold perception of fear from distributed single-trial brain activation. Cerebral Cortex, 17, 691–701.PubMedCrossRefGoogle Scholar
  28. Rakotomamonjy, A. (2003). Variable selection using SVM-based criteria. Journal of Machine Learning Research, 3, 1357–1370.CrossRefGoogle Scholar
  29. Schapire, R. E. (2003). The boosting approach to machine learning: An overview. In Denison, D. D., Hansen, M. H., Holmes, C., Mallick, B., & Yu, B. (Eds.), Nonlinear estimation and classification. New York: Springer.Google Scholar
  30. Sonnenburg, S., Braun, M., Ong, C. S., Bengio, S., Bottou, L., Holmes, G., et al. (2007). The need for open source software in machine learning. Journal of Machine Learning Research, 8, 2443–2466.Google Scholar
  31. Sonnenburg, S., Raetsch, G., Schaefer, C., & Schoelkopf, B. (2006). Large scale multiple kernel learning. Journal of Machine Learning Research, 7, 1531–1565.Google Scholar
  32. Thulasidas, M., Guan, C., & Wu, J. (2006). Robust classification of EEG signal for brain–computer interface. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 14, 24–29.PubMedCrossRefGoogle Scholar
  33. Vanduffel, W., Tootell, R. B. H., Schoups, A. A., & Orban, G. A. (2002). The organization of orientation selectivity throughout macaque visual cortex. Cerebral Cortex, 12, 647–662.PubMedCrossRefGoogle Scholar
  34. Vapnik, V. (1995). The nature of statistical learning theory. New York: Springer.Google Scholar

Copyright information

© Humana Press Inc. 2009

Authors and Affiliations

  • Michael Hanke
    • 1
    • 2
    Email author
  • Yaroslav O. Halchenko
    • 3
    • 4
  • Per B. Sederberg
    • 5
    • 6
  • Stephen José Hanson
    • 3
    • 7
  • James V. Haxby
    • 8
    • 9
  • Stefan Pollmann
    • 1
    • 2
    • 10
  1. 1.Department of Experimental PsychologyUniversity of MagdeburgMagdeburgGermany
  2. 2.Center for Advanced ImagingMagdeburgGermany
  3. 3.Psychology DepartmentRutgers NewarkNewarkUSA
  4. 4.Computer Science DepartmentNew Jersey Institute of TechnologyNewarkUSA
  5. 5.Department of PsychologyPrinceton UniversityPrincetonUSA
  6. 6.Princeton Neuroscience InstitutePrinceton UniversityPrincetonUSA
  7. 7.Rutgers University Mind Brain Analysis, Rutgers NewarkNewarkUSA
  8. 8.Center for Cognitive NeuroscienceDartmouth CollegeHanoverUSA
  9. 9.Department of Psychological and Brain SciencesDartmouth CollegeHanoverUSA
  10. 10.Center for Behavioral Brain SciencesMagdeburgGermany

Personalised recommendations