.. -*- mode: rst -*-
.. ex: set sts=4 ts=4 sw=4 et tw=79:


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 :term:`decoding` or :term:`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 truely free software (in every
respect) and additionally requires nothing but free-software to run.

.. _Python: http://www.python.org

PyMVPA stands for **M**\ ulti\ **V**\ ariate **P**\ attern **A**\ nalysis
(:term:`MVPA`) in **Py**\ thon.

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`_.

.. _Debian Experimental Psychology Project: http://pkg-exppsy.alioth.debian.org
.. _Alioth: http://alioth.debian.org
.. _Debian project: http://www.debian.org


News
====

A complete fMRI :ref:`example dataset <exampledata` is now available for download [22 Oct 2008]


PyMVPA 0.4.0 is out [21 Nov 2008]

  Greatly enhanced documentation (glossary, references, examples), tons of
  bug-fixes and new mappers. This release also ensures compatibility with
  recent releases of the Shogun toolbox. See the :ref:`changelog <changelog>`
  for details.


PyMVPA is also running on a cell phone! [15 Oct 2008]

  Here is :ref:`the proof <requirements>`.


Documentation
=============

* :ref:`User Documentation <contents>` (**the** documentation)
* :ref:`Installation Instructions <installation>`
* :ref:`Development Changelog <changelog>` (see what has changed)
* :ref:`Developer Guidelines <devguide>` (information for people contributing
  code)
* :ref:`Module Reference <modref>` (user-oriented reference, less complex than full API docs)
* `API Reference`_ (comprehensive and up-to-date information about the details
  of the implementation)
* :ref:`FAQ <faq>` (short answers to common problems)
* :ref:`exampledata` (single subject dataset from :ref:`Haxby et al., 2001
  <HGF+01>`)
* :ref:`genindex` (access by keywords)
* :ref:`search` (online and offline full-text search)

.. _API Reference: api/index.html

* `PyMVPA Manual (PDF)`_ (all documentation except for developer guidelines
  and API reference)
* `Developer Guidelines (PDF)`_

.. _PyMVPA Manual (PDF): PyMVPA-Manual.pdf
.. _Developer Guidelines (PDF): PyMVPA-DevGuide.pdf


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
:ref:`appendix of the manual <license>` for the copyright statement and the
full text of the license.

.. _MIT License: http://www.opensource.org/licenses/mit-license.php
.. _appendix of the manual: manual.html#license



Download
========

Binary packages
---------------

Binary packages are available for:

* Debian and Ubuntu (:ref:`installation instructions <install_debian>`)
    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 (:ref:`installation instructions <install_rpm>`)
    RPM packages are provided through the `OpenSUSE Build Service`_. The
    currently supported distributions include: CentOS 5, Fedora 9, Mandriva
    2007-2008, RedHat Enterprise Linux 5, SUSE Linux Enterprise 10, OpenSUSE
    10.2 up to 11.0. The build service supports `RPM-package repositories`_ and
    `1-click-installations`_.

* MacOS X (:ref:`installation instructions <install_macos>`)
    An installer built for the Enthought Python 2.5 distribution is available
    from the `download area`_.

* Windows (:ref:`installation instructions <install_win>`)
    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 :ref:`instructions
<buildfromsource>` to build PyMVPA in various environments.

.. _official Debian package: http://packages.debian.org/python-mvpa
.. _package repository instructions: http://apsy.gse.uni-magdeburg.de/main/index.psp?sec=1&page=hanke/debian&lang=en
.. _RPM-package repositories: http://download.opensuse.org/repositories/home:/hankem/
.. _1-click-installations: http://software.opensuse.org/search?baseproject=ALL&p=1&q=python-mvpa
.. _OpenSUSE Build Service: https://build.opensuse.org/


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://git.debian.org/?p=pkg-exppsy/pymvpa.git

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

::

  git clone git://git.debian.org/git/pkg-exppsy/pymvpa.git

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

More detailed instructions on :ref:`installation requirements <requirements>`
and on how to :ref:`build PyMVPA from source <buildfromsource>` are provided
in the manual.


.. _download area: http://alioth.debian.org/frs/?group_id=30954
.. _Git: http://git.or.cz/
.. _snapshot:  http://git.debian.org/?p=pkg-exppsy/pymvpa.git;a=snapshot;h=refs/heads/master;sf=tgz


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 (prefered) 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
prefered 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.

.. _subscription: http://lists.alioth.debian.org/mailman/listinfo/pkg-exppsy-pymvpa
.. _archive: http://lists.alioth.debian.org/pipermail/pkg-exppsy-pymvpa/



Publications
============

.. include:: publications.txt


Authors & Contributers
======================

.. include:: authors.txt


Similar or Related Projects
===========================

.. in alphanumerical order

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 including
  the EEG/MEG forward and inverse problems. 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_: PyML is an 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.*

* Shogun_: Comprehensive machine learning toolbox with bindings to various
  programming languages.
  *PyMVPA can optionally use implementations of Support Vector Machines from
  Shogun.*

.. _3dsvm: http://afni.nimh.nih.gov/pub/dist/doc/program_help/3dsvm.html
.. _AFNI: http://afni.nimh.nih.gov/
.. _Elefant: http://elefant.developer.nicta.com.au
.. _Shogun: http://www.fml.tuebingen.mpg.de/raetsch/projects/shogun
.. _Orange: http://magix.fri.uni-lj.si/orange
.. _PyML: http://pyml.sourceforge.net
.. _MDP: http://mdp-toolkit.sourceforge.net
.. _MVPA Toolbox: http://www.csbmb.princeton.edu/mvpa/
.. _NiPy: http://neuroimaging.scipy.org
.. _PyMGH/PyFSIO: http://code.google.com/p/pyfsio
.. _PyNIfTI: http://niftilib.sourceforge.net/pynifti
.. _OpenMEEG: http://www-sop.inria.fr/odyssee/software/OpenMEEG
