def test_meg_field_interpolation_helmet(): """Test interpolation of MEG field onto helmet """ evoked = read_evoked(evoked_fname, setno='Left Auditory') info = evoked.info surf = get_meg_helmet_surf(info) # let's reduce the number of channels by a bunch to speed it up info['bads'] = info['ch_names'][:200] # bad ch_type assert_raises(ValueError, make_surface_mapping, info, surf, 'foo') # bad mode assert_raises(ValueError, make_surface_mapping, info, surf, 'meg', mode='foo') # no picks evoked_eeg = pick_types_evoked(evoked, meg=False, eeg=True) assert_raises(RuntimeError, make_surface_mapping, evoked_eeg.info, surf, 'meg') # bad surface def nn = surf['nn'] del surf['nn'] assert_raises(KeyError, make_surface_mapping, info, surf, 'meg') surf['nn'] = nn cf = surf['coord_frame'] del surf['coord_frame'] assert_raises(KeyError, make_surface_mapping, info, surf, 'meg') surf['coord_frame'] = cf # now do it data = make_surface_mapping(info, surf, 'meg', mode='fast') assert_array_equal(data.shape, (304, 106)) # data onto surf
def test_eeg_field_interpolation(): """Test interpolation of EEG field onto head """ trans = read_trans(trans_fname) info = read_info(evoked_fname) surf = get_head_surface('sample', subjects_dir=subjects_dir) # we must have trans if surface is in MRI coords assert_raises(ValueError, make_surface_mapping, info, surf, 'eeg') data = make_surface_mapping(info, surf, 'eeg', trans, mode='accurate') assert_array_equal(data.shape, (2562, 60)) # maps data onto surf
import mne data_path = mne.datasets.sample.data_path() subjects_dir = data_path + '/subjects' evoked_fname = data_path + '/MEG/sample/sample_audvis-ave.fif' trans_fname = data_path + '/MEG/sample/sample_audvis_raw-trans.fif' setno = 'Left Auditory' trans = mne.read_trans(trans_fname) evoked = mne.fiff.read_evoked(evoked_fname, setno=setno, baseline=(-0.2, 0.0)) # let's do this in MRI coordinates so they're easy to plot helmet_surf = mne.get_meg_helmet_surf(evoked.info, trans) head_surf = mne.get_head_surface('sample', subjects_dir=subjects_dir) helmet_map = mne.make_surface_mapping(evoked.info, helmet_surf, 'meg', trans, n_jobs=-1) head_map = mne.make_surface_mapping(evoked.info, head_surf, 'eeg', trans, n_jobs=-1) # let's look at the N100 evoked.crop(0.09, 0.10) evoked_eeg = mne.fiff.pick_types_evoked(evoked, meg=False, eeg=True) evoked_meg = mne.fiff.pick_types_evoked(evoked, meg=True, eeg=False) helmet_data = np.dot(helmet_map, evoked_meg.data[:, 0]) head_data = np.dot(head_map, evoked_eeg.data[:, 0]) # Plot them from mayavi import mlab alphas = [1.0, 0.5] colors = [(0.6, 0.6, 0.6), (1.0, 1.0, 1.0)] colormap = mne.viz.mne_analyze_colormap(format='mayavi')