Searchmight is a toolbox designed specifically for information mapping (a.k.a. "searchlight maps") using machine learning classifiers, developed by the Botvinick Lab in the Princeton Neuroscience Institute.
We aim to make comparison of several different classifiers feasible, and provide a unified statistical testing procedure for the resulting maps. In more detail, the toolbox features:
Classifiers supported: Gaussian Naive Bayes (GNB), Linear/Quadratic Discriminant Analysis (LDA/QDA,including shrinkage estimators for covariance matrix), Linear/Quadratic/RBF Support Vector Machines (SVM), k-nearest-neighbour (k-NN) with various distance/similarity measures
Custom implementations of classifiers (GNB,LDA/QDA,k-NN) or efficient wrappers and modified code for existing classifiers (e.g. the LIBSVM toolbox)
Automatic nested cross-validation within the training set for parameter selection in SVMs
Unified interface for calling classifiers and for retrieving classifier specific information for each searchlight (e.g. local covariance or confusion matrices, local classifier weights)
p-value maps are produced automatically with each information map, with p-values obtained through either analytical or permutation tests
Auxilliary functions to diagnose when analytical tests are not appropriate and permutation tests must be used instead
Very fast GNB searchlight classifier to make whole brain permutation tests feasible (on the order of a few seconds per dataset, depending on the number of examples and the number of voxels).
Searchmight was developed to make it easier to perform the experiments described in this paper
If what you need is a general purpose classification toolbox for fMRI, consider the Princeton MVPA toolbox (in MATLAB) and PyMVPA (in Python), which have been used in several publications and have mailing lists with vibrant user communities.
This was designed to work by needing nothing more than a MATLAB matrix with examples and labels, and a 3D mask for the brain locations in those examples.
This is a beta version: we fixed every bug we could find and yet there are sure to be a few left (though hopefully in nothing critical)
The current version of the code is not yet integrated with the Princeton MVPA toolbox. We do provide a demonstration function that will show you how to use a dataset in that format with Searchmight and port the results back. After this code is out of beta we will provide wrappers to allow it to be used directly with the MVPA toolbox.
Frequently Asked Questions
"Why the name?" - because Francisco likes polypuny, the toolbox is powerful, you might find something using it and you might as well try every classifier we provide (and more, if possible).
"How can I contribute?" - use it and report bugs. Even better, if you don't like our instructions and can provide nicer examples, send us new ones and we will gladly add them to the package and credit you. If you are feeling up to it, help write the MVPA toolbox wrappers ;)
If you have a question that is not answered here or in the documentation, or want to contact us for any other reason, please email fpereira_remove_this_@princeton.edu.