Multivariate Pattern Analysis in Python

### Navigation

- index
- modules |
- modules |
- next |
- PyMVPA Home |
- Sitemap »

PyMVPA is a Python package intended to ease statistical learning analyses of large datasets. It offers an extensible framework with a high-level interface to a broad range of algorithms for classification, regression, feature selection, data import and export. While it is not limited to the neuroimaging domain, it is eminently suited for such datasets. PyMVPA is truly free software (in every respect) and additionally requires nothing but free-software to run.

PyMVPA stands for MultiVariate Pattern Analysis (MVPA) in Python.

Download | Tutorial | Documentation | Support

# News

# Contributing

We welcome all kinds of contributions, and you do not need to be a programmer to contribute! If you have some feature in mind that is missing, some example use case that you want to share, you spotted a typo in the documentation, or you have an idea how to improve the user experience all together – do not hesitate and contact us. We will then figure out how your contribution can be best incorporated. Any contributor will be acknowledged and will appear in the list of people who have helped to develop PyMVPA on the front-page of the pymvpa.org.

# License

PyMVPA is free-software (beer and speech) and covered by the MIT License. This applies to all source code, documentation, examples and snippets inside the source distribution (including this website). Please see the appendix of the manual for the copyright statement and the full text of the license.

# How to cite PyMVPA

Below is a list of publications about PyMVPA that have been published so far (in chronological order). If you use PyMVPA in your research please cite the one that matches best, and email use the reference so we could add it to our Who Is Using It? page.

## Peer-reviewed publications

Hanke, M., Halchenko, Y. O., Sederberg, P. B., Hanson, S. J., Haxby, J. V. & Pollmann, S. (2009). PyMVPA: A Python toolbox for multivariate pattern analysis of fMRI data. Neuroinformatics, 7, 37-53.
  First paper introducing fMRI data analysis with PyMVPA.

Hanke, M., Halchenko, Y. O., Sederberg, P. B., Olivetti, E., Fründ, I., Rieger, J. W., Herrmann, C. S., Haxby, J. V., Hanson, S. J. and Pollmann, S. (2009) PyMVPA: a unifying approach to the analysis of neuroscientific data. Frontiers in Neuroinformatics, 3:3.
  Demonstration of PyMVPA capabilities concerning multi-modal or modality-agnostic data analysis.

Hanke, M., Halchenko, Y. O., Haxby, J. V., and Pollmann, S. (2010) Statistical learning analysis in neuroscience: aiming for transparency. Frontiers in Neuroscience. 4,1: 38-43
  Focused review article emphasizing the role of transparency to facilitate adoption and evaluation of statistical learning techniques in neuroimaging research.
Haxby, J. V., Guntupalli, J. S., Connolly, A. C., Halchenko, Y. O., Conroy, B. R., Gobbini, M. I., Hanke, M. & Ramadge, P. J. (2011). A Common, High-Dimensional Model of the Representational Space in Human Ventral Temporal Cortex. Neuron, 72, 404–416
  The `Hyperalignment` paper demonstrating its application to fMRI data in rich perceptual (movie) and categorization (monkey-dog) experiments.

## Posters

Hanke, M., Halchenko, Y. O., Sederberg, P. B., Hanson, S. J., Haxby, J. V. & Pollmann, S. (2008). PyMVPA: A Python toolbox for machine-learning based data analysis.
  Poster emphasizing PyMVPA’s capabilities concerning multi-modal data analysis at the annual meeting of the Society for Neuroscience, Washington, 2008.
Hanke, M., Halchenko, Y. O., Sederberg, P. B., Hanson, S. J., Haxby, J. V. & Pollmann, S. (2008). PyMVPA: A Python toolbox for classifier-based data analysis.
  First presentation of PyMVPA at the conference Psychologie und Gehirn [Psychology and Brain], Magdeburg, 2008. This poster received the poster prize of the German Society for Psychophysiology and its Application.

# Authors and Contributors

The PyMVPA developers team currently consists of:

- Michael Hanke, Dartmouth College, USA
- Yaroslav O. Halchenko, Dartmouth College, USA
- Emanuele Olivetti, Fondazione Bruno Kessler, Italy

We are very grateful to the following people, who have contributed valuable advice, code or documentation to PyMVPA:

- Greg Detre, Princeton University, USA
- Ingo Fründ, TU Berlin, Germany
- Scott Gorlin, MIT, USA
- Jyothi Swaroop Guntupalli, Dartmouth College, USA
- Valentin Haenel, TU Berlin, Germany
- Stephen José Hanson, Rutgers University, USA
- James V. Haxby, Dartmouth College, USA
- James M. Hughes, Dartmouth College, USA
- James Kyle, UCLA, USA
- Russell Poldrack, University of Texas, USA
- Stefan Pollmann, University of Magdeburg, Germany
- Rajeev Raizada, Dartmouth College, USA
- Per B. Sederberg, Princeton University, USA
- Tiziano Zito, BCCN, Germany

# Acknowledgements

We are greatful to the developers and contributers of NumPy, SciPy and IPython for providing an excellent Python-based computing environment.

Additionally, as PyMVPA makes use of a lot of external software packages (e.g. classifier implementations), we want to acknowledge the authors of the respective tools and libraries (e.g. LIBSVM, MDP, scikit-learn, Shogun) and thank them for developing their packages as free and open source software.

Finally, we would like to express our acknowledgements to the Debian project for providing us with hosting facilities for mailing lists and source code repositories. But most of all for developing the universal operating system.

## Grant support

PyMVPA development was supported, in part, by the following research grants. This list includes grants funding development of specific algorithm implementations in PyMVPA, as well as grants supporting individuals to work on PyMVPA:

German Federal Ministry of Education and Research
  - BMBF 01GQ11112
German Academic Exchange Service
  - PPP-USA D/05/504/7

McDonnel Foundation

US National Institutes of Mental Health
  - 5R01MH075706
  - F32MH085433-01A1
US National Science Foundation
  - NSF 1129764

# Similar or Related Projects

There are a number other projects with – in comparison to PyMVPA – partially overlapping features or a similar purpose. Some of their functionality is already available through and within the PyMVPA framework. Only free software projects are listed here.

- 3dsvm: AFNI plugin to apply support vector machine classifiers to fMRI data.
- Elefant: Efficient Learning, Large-scale Inference, and Optimization Toolkit. Multi-purpose open source library for machine learning.
- MDP: Python data processing framework. MDP provides various algorithms. PyMVPA makes use of MDP’s PCA and ICA implementations.
- MVPA Toolbox: Matlab-based toolbox to facilitate multi-voxel pattern analysis of fMRI neuroimaging data.
- NiPy: Project with growing functionality to analyze brain imaging data. NiPy is heavily connected to SciPy and lots of functionality developed within NiPy becomes part of SciPy.
- OpenMEEG: Software package for low-frequency bio-electromagnetism solving forward problems in the field of EEG and MEG. OpenMEEG includes Python bindings.
- Orange: Powerful general-purpose data mining software. Orange also has Python bindings.
- PROBID: Matlab-based GUI pattern recognition toolbox for MRI data.
- PyMGH/PyFSIO: Python IO library to for FreeSurfer’s `mgh` data format.
- PyML: Interactive object oriented framework for machine learning written in Python. PyML focuses on SVMs and other kernel methods.
- PyNIfTI: Read and write NIfTI images from within Python. PyMVPA uses PyNIfTI to access MRI datasets.
- scikit-learn: Python module integrating classic machine learning algorithms in the tightly-knit world of scientific Python packages.
- Shogun: Comprehensive machine learning toolbox with bindings to various programming languages. PyMVPA can optionally use implementations of Support Vector Machines from Shogun.

### Navigation

- index
- modules |
- modules |
- next |
- PyMVPA Home |
- Sitemap »