_images/cosmomvpa_banner.png

A multi-modal, multi-variate pattern analysis (MVPA) toolbox in Matlab / GNU Octave for cognitive neuroscientists.

CoSMoMVPA

  • State-of-the art, yet simple to use MVPA implementations.
  • Runs on the Matlab and GNU Octave platform, on MS Windows, OSX, and GNU/Linux.
  • Handles fMRI volumetric, fMRI surface-based, and MEEG data through a uniform data structure.
  • Support for a wide range of data formats.
  • Searchlights in the volume, on the surface, over sensors, time bins, and frequency bands.
  • Multiple-comparison correction using Threshold-Free Cluster Enhancement Monte Carlo simulations.
  • Extensive documentation, including a variety of runnable scripts and implementation exercises (with solutions).
  • Is Free/Open Source Software (MIT License), see http://github.com/CoSMoMVPA/CoSMoMVPA.
_images/icon_demos.png _images/icon_philosophy.png _images/icon_get_started.png _images/icon_download.png _images/icon_modules.png _images/icon_documentation.png _images/icon_exercises.png _images/icon_tips.png _images/icon_faq.png _images/icon_contact.png _images/icon_develop.png _images/icon_thanks.png

News

  • our CoSMoMVPA manuscript has been published ([OCH16]): Oosterhof, N. N., Connolly, A. C., and Haxby, J. V. (2016). CoSMoMVPA: multi-modal multivariate pattern analysis of neuroimaging data in Matlab / GNU Octave. Frontiers in Neuroinformatics, doi:10.3389/fninf.2016.00027.

Changes since last month

Summary

 [BF]    1 bug fixes
[BIG]    1 major changes
 [BK]    2 changes that break existing functionality
[BLD]    2 changes in build system
[DOC]    7 code documentation changes
[ENH]    8 enhancements
 [RF]    1 refactorings
[TST]    7 unit or doctest changes
[WEB]    1 website documentation changes

Acknowledgements

- Sara Fabri
- Luca Ronconi

Major changes

commit 9950a5e9024d1a528eda2384fbb3c40d98e2b560
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 19:27:39 2017 +0200

    BIG: goodbye to new-style class doc testing, as MOdox is now
        useable enough for the documentation tests

 doc/source/thanks.rst     |   2 +-
 tests/CosmoDocTestCase.m  | 268 -----------------------------------
 tests/CosmoDocTestSuite.m | 351 ----------------------------------------------
 3 files changed, 1 insertion(+), 620 deletions(-)

Changes that break existing functionality

commit 99ec7c0f8dde64fd80940f759e2a967eb100d271
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 10:59:10 2017 +0200

    BK: use "no_{unit,doc}_test instead of no_{unit,doc}test

 mvpa/cosmo_run_tests.m | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit 3ccd5abb3ebc486b145498ddb959e6b5ad1f4b02
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Sun May 7 19:29:51 2017 +0200

    ENH+TST+BK: simplify test by dropping support for phased-out
        Matlab xUnit framework

 mvpa/cosmo_run_tests.m | 207 ++++++++++++++++---------------------------------
 1 file changed, 66 insertions(+), 141 deletions(-)

Bug fixes

commit 3fc96e647b53108cbb50e90e483c1d5be9c8ab02
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Sun Apr 23 11:55:08 2017 +0200

    BF+ACK: remove too stringent test for unit length, which could
        raise an error due to rounding issue. Thanks to #Luca Ronconi#
        for reporting the issue

 doc/source/thanks.rst              |  1 +
 mvpa/cosmo_phase_itc.m             |  3 ++-
 tests/test_montecarlo_phase_stat.m | 17 +++++++++++++++++
 3 files changed, 20 insertions(+), 1 deletion(-)

All changes

commit 7cbf924183a0e3950d4921b2897963428239fc06
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Tue May 23 11:51:13 2017 +0200

    WEB: Labman is finished

 doc/source/news.rst | 1 -
 1 file changed, 1 deletion(-)

commit 00b6df515f435dbbcd4bd0a6f61b512587954298
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Tue May 23 11:50:58 2017 +0200

    FAQ+ACK: fix second argument for cosmo_stack, stacking along rows
        instead of columns. Thanks to #Sara Fabri# for reporting the
        issue

 doc/source/faq.rst    | 5 ++---
 doc/source/thanks.rst | 1 +
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 9950a5e9024d1a528eda2384fbb3c40d98e2b560
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 19:27:39 2017 +0200

    BIG: goodbye to new-style class doc testing, as MOdox is now
        useable enough for the documentation tests

 doc/source/thanks.rst     |   2 +-
 tests/CosmoDocTestCase.m  | 268 -----------------------------------
 tests/CosmoDocTestSuite.m | 351 ----------------------------------------------
 3 files changed, 1 insertion(+), 620 deletions(-)

commit 60bebf315d460bc179bdfd47cfe318e6317a4c32
Merge: 5c42044 9aa1378
Author: Nikolaas N. Oosterhof <n.n.oosterhof@googlemail.com>
Date:   Mon May 8 18:44:45 2017 +0200

    Merge pull request #148 from nno/_tst/modox          BLD: support
        documentation tests using MOdox

commit 9aa1378e13c972832bb784f2c02af1d4596dd956
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 14:44:34 2017 +0200

    TST: do not treat "-with_coverage" as a key with value

 mvpa/cosmo_run_tests.m | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 6b77d9c1bff2ce997bd5fad39d0b361ad792dd97
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 13:59:57 2017 +0200

    ENH: disable doctest when computing coverage

 .travis.yml | 16 ++++++++--------
 Makefile    |  4 ++++
 2 files changed, 12 insertions(+), 8 deletions(-)

commit 71f629aa76d2ccbebfb51ab51eaebb073c4b5891
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 13:55:03 2017 +0200

    DOC+TST: include FieldTrip dependency declaration

 mvpa/cosmo_cluster_neighborhood.m | 6 ++++++
 1 file changed, 6 insertions(+)

commit 18a204fce4342a3be78ab8fe7ed65f640cbb67ff
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 13:21:47 2017 +0200

    DOC+TST: use separate searchlight example that can be skipped if
        FieldTrip is not available

 mvpa/cosmo_dim_generalization_measure.m | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

commit becd5e4d1ca929a6bdd81ccecdbb222197a45444
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 11:43:50 2017 +0200

    TST: use proper argument for cosmo_run_tests

 tests/test_run_tests.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5df089cfc536ff91f2305c1d7940287e6bf67b79
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 11:41:16 2017 +0200

    DOC+TST: skip some documentation tests if FieldTrip is absent

 mvpa/cosmo_meeg_chan_neighborhood.m       |  9 +++++++++
 mvpa/cosmo_meeg_chan_neighbors.m          | 15 +++++++++++++++
 mvpa/cosmo_meeg_find_layout.m             |  3 +++
 mvpa/cosmo_meeg_layout_collection.m       |  3 +++
 mvpa/cosmo_meeg_senstype2layout_mapping.m |  9 +++++++++
 mvpa/cosmo_meeg_senstype_collection.m     |  3 +++
 6 files changed, 42 insertions(+)

commit d51ed8503b3e2c4335c92b96df4d420ef8bd760d
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 11:33:20 2017 +0200

    ENH: show how many elements in the suites

 mvpa/cosmo_run_tests.m | 2 ++
 1 file changed, 2 insertions(+)

commit 0a8b24e7e7e16aaf7443178f37ed643d282d1778
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 11:33:02 2017 +0200

    ENH: decide about showing warning based on id, not the message

 mvpa/cosmo_classify_matlabsvm_2class.m | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit a4265ecad207d66ec31ce220d3af40f975dbeb16
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 11:25:37 2017 +0200

    ENH: proper test for presence of modox

 mvpa/cosmo_check_external.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 99ec7c0f8dde64fd80940f759e2a967eb100d271
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 10:59:10 2017 +0200

    BK: use "no_{unit,doc}_test instead of no_{unit,doc}test

 mvpa/cosmo_run_tests.m | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit dafe5dde3d2f8b3967fe1142ab749ff8f12a36cb
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 10:13:39 2017 +0200

    RF: simplify adding default locations

 mvpa/cosmo_run_tests.m | 56 +++++++++++++++++++++++---------------------------
 1 file changed, 26 insertions(+), 30 deletions(-)

commit 5f662dae968e06169cc42f570b01e01242217acc
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 10:13:18 2017 +0200

    ENH: name MOdox properly

 mvpa/cosmo_check_external.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7b45080847fc5fd01b150652950791e198e2225e
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Mon May 8 10:13:01 2017 +0200

    DOC: remove example for SVM because it does not work well with
        svmsmoset warning

 mvpa/cosmo_classify_svm.m | 15 ---------------
 1 file changed, 15 deletions(-)

commit 06d8a9dea6651f6ac98c403295d76ddb89f16b69
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Sun May 7 19:32:47 2017 +0200

    BLD: install MOdox

 .travis.yml | 5 +++++
 1 file changed, 5 insertions(+)

commit 3ccd5abb3ebc486b145498ddb959e6b5ad1f4b02
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Sun May 7 19:29:51 2017 +0200

    ENH+TST+BK: simplify test by dropping support for phased-out
        Matlab xUnit framework

 mvpa/cosmo_run_tests.m | 207 ++++++++++++++++---------------------------------
 1 file changed, 66 insertions(+), 141 deletions(-)

commit 85e20fd6b88b25161fa4f97b5e655b6286b12454
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Sun May 7 19:28:42 2017 +0200

    ENH: support for MOdox external

 mvpa/cosmo_check_external.m | 7 +++++++
 1 file changed, 7 insertions(+)

commit 6cb45dec90f5f59d75dc2672a988ef152ccddbe0
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Fri May 5 15:10:42 2017 +0200

    TST+DOC+ENH: change syntax for documentation tests to conform to
        new MOdox framework

 mvpa/cosmo_anova_feature_selector.m             |   6 +-
 mvpa/cosmo_average_samples.m                    |  50 ++---
 mvpa/cosmo_balance_partitions.m                 |  72 +++----
 mvpa/cosmo_cartprod.m                           |  50 ++---
 mvpa/cosmo_check_dataset.m                      |  26 +--
 mvpa/cosmo_check_neighborhood.m                 |  12 +-
 mvpa/cosmo_check_partitions.m                   |  14 +-
 mvpa/cosmo_chunkize.m                           |  30 +--
 mvpa/cosmo_classify_knn.m                       |  20 +-
 mvpa/cosmo_classify_lda.m                       |  10 +-
 mvpa/cosmo_classify_meta_feature_selection.m    |   2 +-
 mvpa/cosmo_classify_naive_bayes.m               |  10 +-
 mvpa/cosmo_classify_nn.m                        |  10 +-
 mvpa/cosmo_classify_svm.m                       |  13 +-
 mvpa/cosmo_cluster_neighborhood.m               |  52 ++---
 mvpa/cosmo_clusterize.m                         |   4 +-
 mvpa/cosmo_confusion_matrix.m                   |  48 ++---
 mvpa/cosmo_convert_neighborhood.m               |  32 +--
 mvpa/cosmo_correlation_measure.m                | 101 ++++-----
 mvpa/cosmo_cross_neighborhood.m                 |  34 +--
 mvpa/cosmo_crossvalidate.m                      |  84 ++++----
 mvpa/cosmo_crossvalidation_measure.m            | 140 ++++++-------
 mvpa/cosmo_dim_find.m                           |  51 +++--
 mvpa/cosmo_dim_generalization_measure.m         |  60 +++---
 mvpa/cosmo_dim_match.m                          |  30 +--
 mvpa/cosmo_dim_prune.m                          |  32 +--
 mvpa/cosmo_dim_remove.m                         |  42 ++--
 mvpa/cosmo_dim_rename.m                         |  56 ++---
 mvpa/cosmo_dim_transpose.m                      |  68 +++---
 mvpa/cosmo_disp.m                               | 173 ++++++++--------
 mvpa/cosmo_dissimilarity_matrix_measure.m       | 251 +++++++++++-----------
 mvpa/cosmo_distatis.m                           | 136 ++++++------
 mvpa/cosmo_find_local_extrema.m                 |  54 ++---
 mvpa/cosmo_flatten.m                            | 118 +++++------
 mvpa/cosmo_fmri_convert_xform.m                 |  60 +++---
 mvpa/cosmo_fmri_deoblique.m                     |  38 ++--
 mvpa/cosmo_fmri_orientation.m                   |  14 +-
 mvpa/cosmo_fmri_reorient.m                      |  84 ++++----
 mvpa/cosmo_fx.m                                 |  24 +--
 mvpa/cosmo_independent_samples_partitioner.m    |  60 +++---
 mvpa/cosmo_index_unique.m                       |  54 ++---
 mvpa/cosmo_interval_neighborhood.m              |  48 ++---
 mvpa/cosmo_isfield.m                            |  14 +-
 mvpa/cosmo_map2surface.m                        |  21 +-
 mvpa/cosmo_mask_dim_intersect.m                 |  25 +--
 mvpa/cosmo_match.m                              |   4 +-
 mvpa/cosmo_measure_clusters.m                   |  22 +-
 mvpa/cosmo_meeg_baseline_correct.m              |  12 +-
 mvpa/cosmo_meeg_chan_neighborhood.m             | 250 +++++++++++-----------
 mvpa/cosmo_meeg_chan_neighbors.m                | 182 ++++++++--------
 mvpa/cosmo_meeg_chantype.m                      |  27 ++-
 mvpa/cosmo_meeg_find_layout.m                   |  94 ++++-----
 mvpa/cosmo_meeg_layout_collection.m             |  30 +--
 mvpa/cosmo_meeg_senstype2layout_mapping.m       |  90 ++++----
 mvpa/cosmo_meeg_senstype_collection.m           |  96 ++++-----
 mvpa/cosmo_montecarlo_cluster_stat.m            |   2 +-
 mvpa/cosmo_naive_bayes_classifier_searchlight.m |  68 +++---
 mvpa/cosmo_nchoosek_partitioner.m               | 264 ++++++++++++------------
 mvpa/cosmo_neighborhood_split.m                 |  78 +++----
 mvpa/cosmo_nfold_partitioner.m                  |  56 ++---
 mvpa/cosmo_normalize.m                          | 102 ++++-----
 mvpa/cosmo_oddeven_partitioner.m                |  42 ++--
 mvpa/cosmo_overlap.m                            |  49 ++---
 mvpa/cosmo_pca.m                                |  32 +--
 mvpa/cosmo_pdist.m                              |  18 +-
 mvpa/cosmo_rand.m                               |   6 +-
 mvpa/cosmo_randomize_targets.m                  |   8 +-
 mvpa/cosmo_remove_useless_data.m                |  38 ++--
 mvpa/cosmo_sample_unique.m                      |   6 +-
 mvpa/cosmo_searchlight.m                        |  68 +++---
 mvpa/cosmo_slice.m                              | 202 +++++++++---------
 mvpa/cosmo_sphere_offsets.m                     |  28 +--
 mvpa/cosmo_spherical_neighborhood.m             | 128 ++++++------
 mvpa/cosmo_split.m                              |  76 +++----
 mvpa/cosmo_stack.m                              |  68 +++---
 mvpa/cosmo_stat.m                               |  94 ++++-----
 mvpa/cosmo_strjoin.m                            |  15 +-
 mvpa/cosmo_strsplit.m                           |  16 +-
 mvpa/cosmo_structjoin.m                         |  64 +++---
 mvpa/cosmo_surface_dataset.m                    |  35 ++--
 mvpa/cosmo_synthetic_dataset.m                  | 230 ++++++++++-----------
 mvpa/cosmo_tail.m                               |  30 +--
 mvpa/cosmo_target_dsm_corr_measure.m            |  62 +++---
 mvpa/cosmo_unflatten.m                          |  72 +++----
 mvpa/cosmo_vol_grid_convert.m                   |  74 +++----
 mvpa/cosmo_winner_indices.m                     |  12 +-
 mvpa/cosmo_wtf.m                                |   2 +-
 87 files changed, 2624 insertions(+), 2561 deletions(-)

commit 5c4204420110baea48a05d342e0c1039e04acbcc
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Thu Apr 27 18:06:18 2017 +0200

    DOC: give example of FT channel neighborhood structure

 mvpa/cosmo_meeg_chan_neighborhood.m | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 7034b83c214f5bd187c8aa215f62cb2ad04a00b0
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Thu Apr 27 17:55:41 2017 +0200

    DOC: clarify use of FT channel neighborhood

 mvpa/cosmo_meeg_chan_neighborhood.m | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 3fc96e647b53108cbb50e90e483c1d5be9c8ab02
Author: Nikolaas N. Oosterhof <nikolaas.oosterhof@unitn.it>
Date:   Sun Apr 23 11:55:08 2017 +0200

    BF+ACK: remove too stringent test for unit length, which could
        raise an error due to rounding issue. Thanks to #Luca Ronconi#
        for reporting the issue

 doc/source/thanks.rst              |  1 +
 mvpa/cosmo_phase_itc.m             |  3 ++-
 tests/test_montecarlo_phase_stat.m | 17 +++++++++++++++++
 3 files changed, 20 insertions(+), 1 deletion(-)