Example #1
0
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])
Example #2
0
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')
Example #4
0
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)
Example #5
0
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)
Example #6
0
"""
============================================================
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)
Example #7
0
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])
Example #8
0
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')
Example #10
0
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")