CorrMVPA
is a multi-voxel pattern analysis (MVPA) tool for fMRI data. It's adapted from the method described in Haxby et al., 2001, except searchlight spheres are analyzed instead of anatomical ROIs.
This tool allows users to identify areas of the brain containing multivariate representations, from which a pair of conditions can be decoded. CorrMVPA
is similar to the searchlight tool provided by nilearn, but it's based on voxel-by-voxel correlations rather than SVM classifications. Such correlations are notably much faster to compute, and results for a full brain can be generated within 10 minutes on a commercial laptop, unlike the day(s) needed for the SVM searchlight.
Fig. 3 from Haxby et al. (2001)
CorrMVPA
can be installed from PyPi:
$ pip install mvpa
import pandas as pd
from nilearn.datasets import fetch_haxby
# We fetch 2nd subject from haxby datasets (which is default)
haxby_dataset = fetch_haxby()
fmri_filename = haxby_dataset.func[0]
labels = pd.read_csv(haxby_dataset.session_target[0], sep=" ")
y, session = labels["labels"], labels["chunks"]
from nilearn.image import index_img
face_mask = y.isin(["face"]) # Condition A
house_mask = y.isin(["house"]) # Condition B
face_niimg = index_img(fmri_filename, face_mask)
house_niimg = index_img(fmri_filename, house_mask)
from nilearn.image import load_img
from mvpa import even_odd_split
face_niimg_even, face_niimg_odd = even_odd_split(face_niimg)
house_niimg_even, house_niimg_odd = even_odd_split(house_niimg)
A = [(face_niimg_even, face_niimg_odd)]
B = [(house_niimg_even, house_niimg_odd)]
mask_img = load_img(haxby_dataset.mask)
from mvpa import correlation_searchlight, significance_map
score_maps = correlation_searchlight(A, B, mask_img, radius=3)
# t_map, p_map = significance_map(score_maps, mask_img) # Only used for datasets
# with multiple subjects
score_maps
is a list of paths to NIfTI files, each representing the significance scores for each voxel in a subject's scan.
from nilearn.image import mean_img
from nilearn.plotting import plot_stat_map
score_map = load_img(score_maps[0])
plot_stat_map(score_map, bg_img=mean_img(fmri_filename), colorbar=True,
display_mode="z")
CorrMVPA
was created by Jonathan Shobrook and Paul C. Bogdan as part of our research in the Dolcos Lab at the Beckman Institute for Advanced Science and Technology.