def test_plot_bem(): """Test plotting of BEM contours """ assert_raises(IOError, plot_bem, subject='bad-subject', subjects_dir=subjects_dir) assert_raises(ValueError, plot_bem, subject='sample', subjects_dir=subjects_dir, orientation='bad-ori') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal', slices=[25, 50])
def check_bem(sbj_id, sbj_dir, raw_info, trans_fname, report): import os.path as op import mne from mne.viz import plot_bem, plot_trans from mayavi import mlab import numpy as np ### plot bem surfs to MRI in the 3 different views fig1 = plot_bem(subject=sbj_id, subjects_dir=sbj_dir, orientation='axial', show=False) fig2 = plot_bem(subject=sbj_id, subjects_dir=sbj_dir, orientation='sagittal', show=False) fig3 = plot_bem(subject=sbj_id, subjects_dir=sbj_dir, orientation='coronal', show=False) report.add_figs_to_section([fig1, fig2, fig3], captions=['axial view', 'sagittal view', 'coronal view'], section='BEM surfaces') ### plot bem surf and source space bem_fname = op.join(sbj_dir, sbj_id + '/bem/%s-5120-bem-sol.fif' % sbj_id) surf = mne.read_bem_surfaces(bem_fname, patch_stats=True) print 'Number of surfaces : %d' % len(surf) brain_col = (0.95, 0.83, 0.83) cortex_col = (0.91, 0.89, 0.67) points = surf[0]['rr'] faces = surf[0]['tris'] fig4 = mlab.figure(size=(600, 600), bgcolor=(0, 0, 0)) mlab.triangular_mesh(points[:, 0], points[:, 1], points[:, 2], faces, color=brain_col, opacity=0.3) src_fname = op.join(sbj_dir, sbj_id + '/bem/%s-ico-5-src.fif' % sbj_id) src = mne.read_source_spaces(src_fname) lh_points = src[0]['rr'] lh_faces = src[0]['tris'] rh_points = src[1]['rr'] rh_faces = src[1]['tris'] mlab.triangular_mesh(lh_points[:, 0], lh_points[:, 1], lh_points[:, 2], lh_faces, color=cortex_col, opacity=0.8) mlab.triangular_mesh(rh_points[:, 0], rh_points[:, 1], rh_points[:, 2], rh_faces, color=cortex_col, opacity=0.8) picks = mne.pick_types(raw_info, meg=True, ref_meg=False, eeg=False, stim=False, eog=False, exclude='bads') ### plot sensors sens_loc = [ raw_info['chs'][picks[i]]['loc'][:3] for i in range(len(picks)) ] sens_loc = np.array(sens_loc) mlab.points3d(sens_loc[:, 0], sens_loc[:, 1], sens_loc[:, 2], color=(1, 1, 1), opacity=1, scale_factor=0.005) report.add_figs_to_section(fig4, captions=['source space'], section='BEM cortex sensors') fig5 = plot_trans(raw_info, trans_fname, subject=sbj_id, subjects_dir=sbj_dir) report.add_figs_to_section(fig5, captions=['MEG <-> MRI coregistration quality'], section='MEG <-> MRI')
def test_plot_bem(): """Test plotting of BEM contours """ assert_raises(IOError, plot_bem, subject='bad-subject', subjects_dir=subjects_dir) assert_raises(ValueError, plot_bem, subject='sample', subjects_dir=subjects_dir, orientation='bad-ori') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal', slices=[25, 50]) plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', slices=[25, 50], brain_surfaces='white') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', slices=[25, 50], src=src_fname)
def test_plot_bem(): """Test plotting of BEM contours.""" assert_raises(IOError, plot_bem, subject='bad-subject', subjects_dir=subjects_dir) assert_raises(ValueError, plot_bem, subject='sample', subjects_dir=subjects_dir, orientation='bad-ori') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal', slices=[25, 50]) plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', slices=[25, 50], brain_surfaces='white') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', slices=[25, 50], src=src_fname)
""" ============================================================ Plot the head model inside MRI to check anatomical alignment ============================================================ MNE-HCP facilitates source level analysis by supporting linkage between MRT/anatomy files and the MEG data. Here, inspect the head model that is used to compute the BEM solution. """ # Author: Jona Sassenhagen # Denis A. Engemann # License: BSD 3 clause import os.path as op from mne.viz import plot_bem # from mne.bem import make_watershed_bem storage_dir = op.expanduser('~/mne-hcp-data') subject = '105923' subjects_dir = storage_dir + '/hcp-subjects' ############################################################################### # We assume that all directory structures are set up. # Checkout :func:`hcp.make_mne_anatomy` to achieve this necessary step. # See also :ref:`tut_make_anatomy`. plot_bem(subject=subject, subjects_dir=subjects_dir)
def test_plot_bem(): """Test plotting of BEM contours """ assert_raises(IOError, plot_bem, subject="bad-subject", subjects_dir=subjects_dir) assert_raises(ValueError, plot_bem, subject="sample", subjects_dir=subjects_dir, orientation="bad-ori") plot_bem(subject="sample", subjects_dir=subjects_dir, orientation="sagittal", slices=[50, 100])
def test_plot_bem(): """Test plotting of BEM contours.""" with pytest.raises(IOError, match='MRI file .* not found'): plot_bem(subject='bad-subject', subjects_dir=subjects_dir) with pytest.raises(ValueError, match="Invalid value for the 'orientation"): plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='bad-ori') with pytest.raises(ValueError, match="sorted 1D array"): plot_bem(subject='sample', subjects_dir=subjects_dir, slices=[0, 500]) plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal', slices=[25, 50]) plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', brain_surfaces='white') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', slices=[25, 50], src=src_fname)
""" ===================== Plotting BEM Contours ===================== This example displays the BEM surfaces (inner skull, outer skull, outer skin) as yellow contours on top of the T1 MRI anatomical image used for segmentation. This is useful for inspecting the quality of the BEM segmentations which are required for computing the forward solution. """ # Author: Mainak Jas <*****@*****.**> # Alexandre Gramfort <*****@*****.**> # # License: BSD (3-clause) from mne.viz import plot_bem from mne.datasets import sample data_path = sample.data_path() subjects_dir = data_path + '/subjects' plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='axial') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal')
def test_plot_bem(): """Test plotting of BEM contours.""" with pytest.raises(IOError, match='MRI file .* not found'): plot_bem(subject='bad-subject', subjects_dir=subjects_dir) with pytest.raises(ValueError, match="Invalid value for the 'orientation"): plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='bad-ori') with pytest.raises(ValueError, match="sorted 1D array"): plot_bem(subject='sample', subjects_dir=subjects_dir, slices=[0, 500]) fig = plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal', slices=[25, 50]) assert len(fig.axes) == 2 assert len(fig.axes[0].collections) == 3 # 3 BEM surfaces ... fig = plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', brain_surfaces='white') assert len(fig.axes[0].collections) == 5 # 3 BEM surfaces + 2 hemis fig = plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal', slices=[25, 50], src=src_fname) assert len(fig.axes[0].collections) == 4 # 3 BEM surfaces + 1 src contour with pytest.raises(ValueError, match='MRI coordinates, got head'): plot_bem(subject='sample', subjects_dir=subjects_dir, src=inv_fname)
surfs = make_bem_model(subject=subject, subjects_dir=subjects_dir, conductivity=(.3, )) write_bem_surfaces(fname=bem_fname, surfs=surfs) bem = make_bem_solution(surfs) write_bem_solution(fname=bem_sol_fname, bem=bem) from mne.viz import plot_bem if True: # Plot subjects' BEMs and source spaces figs = list() for meg_subject, subject in zip(range(1, 21), subjects_id): if subject in missing_mri + bad_mri: continue # Plot BEM fig = plot_bem(subject=subject, subjects_dir=subjects_dir, show=True) # plot source space from mne import read_source_spaces from surfer import Brain # noqa from mayavi import mlab # noqa brain = Brain(subject, 'both', 'inflated') src = read_source_spaces( os.path.join(subjects_dir, subject, 'bem', subject + '-oct-6-src.fif')) brain = Brain(subject, 'both', 'inflated') for ii in range(2): surf = brain.brains[ii]._geo vertidx = np.where(src[ii]['inuse'])[0] mlab.points3d(surf.x[vertidx], surf.y[vertidx],
# single layer surfs = make_bem_model(subject=subject, subjects_dir=subjects_dir, conductivity=(.3,)) write_bem_surfaces(fname=bem_fname, surfs=surfs) bem = make_bem_solution(surfs) write_bem_solution(fname=bem_sol_fname, bem=bem) from mne.viz import plot_bem if True: # Plot subjects' BEMs and source spaces figs = list() for meg_subject, subject in zip(range(1, 21), subjects_id): if subject in missing_mri + bad_mri: continue # Plot BEM fig = plot_bem(subject=subject, subjects_dir=subjects_dir, show=True) # plot source space from mne import read_source_spaces from surfer import Brain # noqa from mayavi import mlab # noqa brain = Brain(subject, 'both', 'inflated') src = read_source_spaces(os.path.join(subjects_dir, subject, 'bem', subject + '-oct-6-src.fif')) brain = Brain(subject, 'both', 'inflated') for ii in range(2): surf = brain.brains[ii]._geo vertidx = np.where(src[ii]['inuse'])[0] mlab.points3d(surf.x[vertidx], surf.y[vertidx], surf.z[vertidx], color=(1, 1, 0), scale_factor=1.5) raw_input('next?')
""" ===================== Plotting BEM Contours ===================== This example displays the BEM surfaces (inner skull, outer skull, outer skin) as yellow contours on top of the T1 MRI anatomical image used for segmentation. This is useful for inspecting the quality of the BEM segmentations which are required for computing the forward solution. """ # Author: Mainak Jas <*****@*****.**> # Alexandre Gramfort <*****@*****.**> # # License: BSD (3-clause) from mne.viz import plot_bem from mne.datasets import sample print(__doc__) data_path = sample.data_path() subjects_dir = data_path + '/subjects' plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='axial') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='sagittal') plot_bem(subject='sample', subjects_dir=subjects_dir, orientation='coronal')
""" ===================== Plotting BEM Contours ===================== This example displays the BEM surfaces (inner skull, outer skull, outer skin) as yellow contours on top of the T1 MRI anatomical image used for segmentation. This is useful for inspecting the quality of the BEM segmentations which are required for computing the forward solution. """ # Author: Mainak Jas <*****@*****.**> # Alexandre Gramfort <*****@*****.**> # # License: BSD (3-clause) from mne.viz import plot_bem from mne.datasets import sample data_path = sample.data_path() subjects_dir = data_path + "/subjects" plot_bem(subject="sample", subjects_dir=subjects_dir, orientation="axial") plot_bem(subject="sample", subjects_dir=subjects_dir, orientation="sagittal") plot_bem(subject="sample", subjects_dir=subjects_dir, orientation="coronal")