def test_helmet(): """Test loading helmet surfaces.""" base_dir = op.join(op.dirname(__file__), '..', 'io') fname_raw = op.join(base_dir, 'tests', 'data', 'test_raw.fif') fname_kit_raw = op.join(base_dir, 'kit', 'tests', 'data', 'test_bin_raw.fif') fname_bti_raw = op.join(base_dir, 'bti', 'tests', 'data', 'exported4D_linux_raw.fif') fname_ctf_raw = op.join(base_dir, 'tests', 'data', 'test_ctf_raw.fif') fname_trans = op.join(base_dir, 'tests', 'data', 'sample-audvis-raw-trans.txt') trans = _get_trans(fname_trans)[0] new_info = read_info(fname_raw) artemis_info = new_info.copy() for pick in pick_types(new_info, meg=True): new_info['chs'][pick]['coil_type'] = 9999 artemis_info['chs'][pick]['coil_type'] = \ FIFF.FIFFV_COIL_ARTEMIS123_GRAD for info, n, name in [(read_info(fname_raw), 304, '306m'), (read_info(fname_kit_raw), 304, 'KIT'), (read_info(fname_bti_raw), 304, 'Magnes'), (read_info(fname_ctf_raw), 342, 'CTF'), (new_info, 102, 'unknown'), (artemis_info, 102, 'ARTEMIS123')]: with catch_logging() as log: helmet = get_meg_helmet_surf(info, trans, verbose=True) log = log.getvalue() assert name in log assert_equal(len(helmet['rr']), n) assert_equal(len(helmet['rr']), len(helmet['nn']))
def test_make_field_map_meg(): """Test interpolation of MEG field onto helmet | head """ evoked = read_evokeds(evoked_fname, condition='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 = evoked.pick_types(meg=False, eeg=True, copy=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 with make_field_map evoked.pick_types(meg=True, eeg=False) fmd = make_field_map(evoked, None, subject='sample', subjects_dir=subjects_dir) assert_true(len(fmd) == 1) assert_array_equal(fmd[0]['data'].shape, (304, 106)) # maps data onto surf assert_true(len(fmd[0]['ch_names']), 106) assert_raises(ValueError, make_field_map, evoked, ch_type='foobar') # now test the make_field_map on head surf for MEG evoked.pick_types(meg=True, eeg=False) fmd = make_field_map(evoked, trans_fname, meg_surf='head', subject='sample', subjects_dir=subjects_dir) assert_true(len(fmd) == 1) assert_array_equal(fmd[0]['data'].shape, (642, 106)) # maps data onto surf assert_true(len(fmd[0]['ch_names']), 106) assert_raises(ValueError, make_field_map, evoked, meg_surf='foobar', subjects_dir=subjects_dir, trans=trans_fname)
def test_helmet(): """Test loading helmet surfaces.""" base_dir = op.join(op.dirname(__file__), '..', 'io') fname_raw = op.join(base_dir, 'tests', 'data', 'test_raw.fif') fname_kit_raw = op.join(base_dir, 'kit', 'tests', 'data', 'test_bin_raw.fif') fname_bti_raw = op.join(base_dir, 'bti', 'tests', 'data', 'exported4D_linux_raw.fif') fname_ctf_raw = op.join(base_dir, 'tests', 'data', 'test_ctf_raw.fif') fname_trans = op.join(base_dir, 'tests', 'data', 'sample-audvis-raw-trans.txt') trans = _get_trans(fname_trans)[0] new_info = read_info(fname_raw) artemis_info = new_info.copy() for pick in pick_types(new_info): new_info['chs'][pick]['coil_type'] = 9999 artemis_info['chs'][pick]['coil_type'] = \ FIFF.FIFFV_COIL_ARTEMIS123_GRAD for info, n, name in [(read_info(fname_raw), 304, '306m'), (read_info(fname_kit_raw), 304, 'KIT'), (read_info(fname_bti_raw), 304, 'Magnes'), (read_info(fname_ctf_raw), 342, 'CTF'), (new_info, 102, 'unknown'), (artemis_info, 102, 'ARTEMIS123') ]: with catch_logging() as log: helmet = get_meg_helmet_surf(info, trans, verbose=True) log = log.getvalue() assert name in log assert_equal(len(helmet['rr']), n) assert_equal(len(helmet['rr']), len(helmet['nn']))
def test_make_field_map_meg(): """Test interpolation of MEG field onto helmet | head """ evoked = read_evokeds(evoked_fname, condition='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 = evoked.copy().pick_types(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 with make_field_map evoked.pick_types(meg=True, eeg=False) evoked.info.normalize_proj() # avoid projection warnings fmd = make_field_map(evoked, None, subject='sample', subjects_dir=subjects_dir) assert_true(len(fmd) == 1) assert_array_equal(fmd[0]['data'].shape, (304, 106)) # maps data onto surf assert_true(len(fmd[0]['ch_names']), 106) assert_raises(ValueError, make_field_map, evoked, ch_type='foobar') # now test the make_field_map on head surf for MEG evoked.pick_types(meg=True, eeg=False) evoked.info.normalize_proj() fmd = make_field_map(evoked, trans_fname, meg_surf='head', subject='sample', subjects_dir=subjects_dir) assert_true(len(fmd) == 1) assert_array_equal(fmd[0]['data'].shape, (642, 106)) # maps data onto surf assert_true(len(fmd[0]['ch_names']), 106) assert_raises(ValueError, make_field_map, evoked, meg_surf='foobar', subjects_dir=subjects_dir, trans=trans_fname)
def test_helmet(): """Test loading helmet surfaces.""" base_dir = op.join(op.dirname(__file__), '..', 'io') fname_raw = op.join(base_dir, 'tests', 'data', 'test_raw.fif') fname_kit_raw = op.join(base_dir, 'kit', 'tests', 'data', 'test_bin_raw.fif') fname_bti_raw = op.join(base_dir, 'bti', 'tests', 'data', 'exported4D_linux_raw.fif') fname_ctf_raw = op.join(base_dir, 'tests', 'data', 'test_ctf_raw.fif') fname_trans = op.join(base_dir, 'tests', 'data', 'sample-audvis-raw-trans.txt') trans = _get_trans(fname_trans)[0] for fname in [fname_raw, fname_kit_raw, fname_bti_raw, fname_ctf_raw]: helmet = get_meg_helmet_surf(read_info(fname), trans) assert_equal(len(helmet['rr']), 304) # they all have 304 verts assert_equal(len(helmet['rr']), len(helmet['nn']))
def test_make_field_map_meg(): """Test interpolation of MEG field onto helmet | head """ evoked = read_evokeds(evoked_fname, condition="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 = evoked.pick_types(meg=False, eeg=True, copy=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 with make_field_map evoked.pick_types(meg=True, eeg=False) fmd = make_field_map(evoked, None, subject="sample", subjects_dir=subjects_dir) assert_true(len(fmd) == 1) assert_array_equal(fmd[0]["data"].shape, (304, 106)) # maps data onto surf assert_true(len(fmd[0]["ch_names"]), 106) assert_raises(ValueError, make_field_map, evoked, ch_type="foobar") # now test the make_field_map on head surf for MEG evoked.pick_types(meg=True, eeg=False) fmd = make_field_map(evoked, trans_fname, meg_surf="head", subject="sample", subjects_dir=subjects_dir) assert_true(len(fmd) == 1) assert_array_equal(fmd[0]["data"].shape, (642, 106)) # maps data onto surf assert_true(len(fmd[0]["ch_names"]), 106) assert_raises(ValueError, make_field_map, evoked, meg_surf="foobar", subjects_dir=subjects_dir, trans=trans_fname)