| Multivariate Pattern Analysis in Python

### Navigation

- index
- ExpPsy Project |
- NeuroDebian Project |
- PyMVPA 0.4.x Home |
- PyMVPA Home |
- Documentation »

This content refers to the previous stable release of PyMVPA. Please visit www.pymvpa.org for the most recent version of PyMVPA and its documentation.

PyMVPA is a Python module intended to ease pattern classification analyses of large datasets. In the neuroimaging contexts such analysis techniques are also known as decoding or MVPA analysis. PyMVPA provides high-level abstraction of typical processing steps and a number of implementations of some popular algorithms. 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.

PyMVPA is developed inside the Debian Experimental Psychology Project. This website, the source code repository and download services are hosted on Alioth, a service that is kindly provided by the Debian project.

# News

PyMVPA 0.4.8 is out [24 Apr 2012]
  This release brings a set of bug fixes, including compatibility with recent shogun (>=1.0) and libsvm >= 3.10. See the changelog for details.

PyMVPA Extravaganza 2009 at Dartmouth College [30th Nov – 4th Dec]
  Read more about the topics and achievements.
First publication from outside the PyMVPA team employing PyMVPA [19 Jul 2009]
  Sun et al. (2009): Elucidating an MRI-Based Neuroanatomic Biomarker for Psychosis: Classification Analysis Using Probabilistic Brain Atlas and Machine Learning Algorithms.

# Documentation

## For users

- User Documentation [PDF-manual] (the documentation).
- Installation Instructions
- FAQ (short answers to common problems)
- Module Reference (user-oriented reference)
- Bibliography (references to interesting literature)
- Development Changelog [Movie version] (see what has changed)

- Example fMRI Dataset (single subject dataset from Haxby et al., 2001)

- Index (access by keywords)
- Search Page (online and offline full-text search)

## For developers

- Developer Guidelines [PDF-guide] (information for people contributing code)
- API Reference (comprehensive and up-to-date information about the details of the implementation)

# 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.

# Download

## Binary packages

Binary packages are available for:

- Debian and Ubuntu (installation instructions)

    PyMVPA is an official Debian package (python-mvpa). Additionally, backports for some Debian and Ubuntu releases are also available. Please read the package repository instructions to learn about how to obtain them.

- RPM-based GNU/Linux distributions (installation instructions)

    RPM packages are provided through the OpenSUSE Build Service. The currently supported distributions include: CentOS 5, Fedora 9-12, RedHat Enterprise Linux 5, OpenSUSE 11.0 up to 11.2 (but also OpenSUSE Factory). The build service supports RPM-package repositories (SUSE-related and Fedora, Redhat and CentOS-related) and 1-click-installations.

- MacOS X (installation instructions)

    PyMVPA is available from the MacPorts framework.

- Windows (installation instructions)

    An installer for Python 2.5 is available from the download area.

If there are no binary packages for your particular operating system or platform, you need to compile your own. The manual contains instructions to build PyMVPA in various environments.

## Source code

Source code tarballs of PyMVPA releases are available from the download area. Alternatively, one can also download a tarball of the latest development snapshot (i.e. the current state of the master branch of the PyMVPA source code repository).

To get access to both the full PyMVPA history and the latest development code, the PyMVPA Git repository is publicly available. To view the repository, please point your webbrowser to gitweb: http://github.com/PyMVPA/PyMVPA

To clone (aka checkout) the PyMVPA repository simply do:

    git clone http://github.com/PyMVPA/PyMVPA

After a short while you will have a PyMVPA directory below your current working directory, that contains the PyMVPA repository.

More detailed instructions on installation requirements and on how to build PyMVPA from source are provided in the manual.

# Support

If you have problems installing the software or questions about usage, documentation or something else related to PyMVPA, you can post to the PyMVPA mailing list (preferred) or contact the authors on IRC:

Mailing list: | pkg-exppsy-pymvpa@lists.alioth.debian.org [subscription, archive]
IRC: | #exppsy on OTFC/Freenode

All users should subscribe to the mailing list. PyMVPA is still a young project that is under heavy development. Significant modifications (hopefully improvements) are very likely to happen frequently. The mailing list is the preferred way to announce such changes. The mailing list archive can also be searched using the mailing list archive search located in the sidebar of the PyMVPA home page.

# Publications

Below is a list of all 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. In addition there is also a list of studies done by other groups employing PyMVPA somewhere in the analysis.

## Peer-reviewed publications

Hanke, M., Halchenko, Y. O., Haxby, J. V., and Pollmann, S. (accepted) Statistical learning analysis in neuroscience: aiming for transparency. Frontiers in Neuroscience.
  Focused review article emphasizing the role of transparency to facilitate adoption and evaluation of statistical learning techniques in neuroimaging research.
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., 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.

## 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.

## Studies employing PyMVPA

- Sun et al. (2009): Elucidating an MRI-Based Neuroanatomic Biomarker for Psychosis: Classification Analysis Using Probabilistic Brain Atlas and Machine Learning Algorithms.
- Manelis et al. (2010): Implicit memory for object locations depends on reactivation of encoding-related brain regions

# Authors & Contributors

The PyMVPA developers team currently consists of:

- Michael Hanke, Dartmouth College, USA
- Yaroslav O. Halchenko, Dartmouth College, USA
- Per B. Sederberg, Princeton University, 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
- Valentin Haenel, TU Berlin, Germany
- James M. Hughes, Dartmouth College, USA
- James Kyle, UCLA, USA
- Tiziano Zito, BCCN, Germany

# 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.
- 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.
- scikits.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
- ExpPsy Project |
- NeuroDebian Project |
- PyMVPA 0.4.x Home |
- PyMVPA Home |
- Documentation »