To provide the most recent news and documentation www.pymvpa.org reflects the
development 2.0 series (renamed 0.6 series) of PyMVPA. If you are interested in the
documentation of the previous stable 0.4 series of PyMVPA, please
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.
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.
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.
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.
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.
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.
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
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
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.
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
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
PyMVPA can optionally use implementations of Support Vector Machines from