Created
August 4, 2017 07:31
-
-
Save agramfort/a3e3139a1f64315885c923a57e541e7a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Automatically created module for IPython interactive environment\n" | |
] | |
} | |
], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"\n", | |
"from nilearn.plotting import plot_stat_map\n", | |
"from nilearn.image import index_img\n", | |
"\n", | |
"from mne.datasets import sample\n", | |
"from mne import read_evokeds\n", | |
"from mne.minimum_norm import apply_inverse, read_inverse_operator\n", | |
"\n", | |
"print(__doc__)\n", | |
"\n", | |
"data_path = sample.data_path()\n", | |
"fname_inv = data_path + '/MEG/sample/sample_audvis-meg-vol-7-meg-inv.fif'\n", | |
"fname_evoked = data_path + '/MEG/sample/sample_audvis-ave.fif'\n", | |
"\n", | |
"snr = 3.0\n", | |
"lambda2 = 1.0 / snr ** 2\n", | |
"method = \"dSPM\" # use dSPM method (could also be MNE or sLORETA)\n", | |
"\n", | |
"# Load data\n", | |
"evoked = read_evokeds(fname_evoked, condition=0, baseline=(None, 0))\n", | |
"inverse_operator = read_inverse_operator(fname_inv)\n", | |
"src = inverse_operator['src']\n", | |
"\n", | |
"# Compute inverse solution\n", | |
"stc = apply_inverse(evoked.crop(0., 0.), inverse_operator, lambda2, method)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(3757, 1)" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"stc.data.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import mne\n", | |
"\n", | |
"data = (1 + np.arange(len(stc.data)))[:, np.newaxis]\n", | |
"stc_tmp = mne.VolSourceEstimate(data, stc.vertices, tmin=0., tstep=1., subject=stc.subject)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.image.AxesImage at 0x109f014a8>" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x116965f60>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Export result as a 4D nifti object\n", | |
"img = stc_tmp.as_volume(src, mri_resolution=False)\n", | |
"\n", | |
"img_data = img.get_data()[:, :, :, 0]\n", | |
"img_data.shape\n", | |
"\n", | |
"plt.imshow(img_data[15])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.feature_extraction import grid_to_graph\n", | |
"graph = grid_to_graph?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"graph = grid_to_graph" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"graph = grid_to_graph" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(21, 26, 24)" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"img_data.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"graph = grid_to_graph(*img_data.shape, mask=(img_data != 0))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(3757, 3757)" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"graph.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"3757" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"np.sum(img_data != 0)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.5.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment