This content refers to the previous stable release of PyMVPA. Please visit www.pymvpa.org for the most recent version of PyMVPA and its documentation.

Basic (f)MRI plottingΒΆ

Estimate basic univariate sensitivity (ANOVA) an plot it overlayed on top of the anatomical.

We start with basic steps: loading PyMVPA and the example fMRI dataset, basic preprocessing, estimation of the ANOVA scores and plotting.

from mvpa.suite import *

# load PyMVPA example dataset
attr = SampleAttributes(os.path.join(pymvpa_dataroot, 'attributes_literal.txt'))
dataset = NiftiDataset(samples=os.path.join(pymvpa_dataroot, 'bold.nii.gz'),
                       labels=attr.labels,
                       labels_map=True,
                       chunks=attr.chunks,
                       mask=os.path.join(pymvpa_dataroot, 'mask.nii.gz'))

# since we don't have a proper anatomical -- lets overlay on BOLD
nianat = NiftiImage(dataset.O[0], header=dataset.niftihdr)

# do chunkswise linear detrending on dataset
detrend(dataset, perchunk=True, model='linear')

# define sensitivity analyzer
sensana = OneWayAnova(transformer=N.abs)
sens = sensana(dataset)

It might be convinient to pre-define common arguments for multiple calls to plotMRI

::
mri_args = {
‘background’ : nianat, # could be a filename ‘background_mask’ : os.path.join(pymvpa_dataroot, ‘mask.nii.gz’), ‘overlay_mask’ : os.path.join(pymvpa_dataroot, ‘mask.nii.gz’), ‘do_stretch_colors’ : False, ‘cmap_bg’ : ‘gray’, ‘cmap_overlay’ : ‘autumn’, # YlOrRd_r # P.cm.autumn ‘fig’ : None, # create new figure
‘interactive’ : cfg.getboolean(‘examples’, ‘interactive’, True),
}
fig = plotMRI(overlay=dataset.map2Nifti(sens),
vlim=(0.5, None), #vlim_type=”symneg_z”, **mri_args)

Output of the example analysis:

Simple plotting facility for (f)MRI

See also

The full source code of this example is included in the PyMVPA source distribution (doc/examples/mri_plot.py).