def test_generate_stc(): """ Test generation of source estimate """ mylabels = [] for i, label in enumerate(labels): new_label = Label(vertices=label.vertices, pos=label.pos, values=2 * i * np.ones(len(label.values)), hemi=label.hemi, comment=label.comment) mylabels.append(new_label) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels), n_times)) stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep) assert_true(np.all(stc.data == 1.0)) assert_true(stc.data.shape[1] == n_times) # test with function fun = lambda x: x**2 stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep, fun) print stc.data # the first label has value 0, the second value 2 assert_array_almost_equal(stc.data[0], np.zeros(n_times)) assert_array_almost_equal(stc.data[-1], 4 * np.ones(n_times))
def test_generate_stc(): """ Test generation of source estimate """ mylabels = [] for i, label in enumerate(labels): new_label = Label( vertices=label.vertices, pos=label.pos, values=2 * i * np.ones(len(label.values)), hemi=label.hemi, comment=label.comment, ) mylabels.append(new_label) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels), n_times)) stc = generate_stc(fwd["src"], mylabels, stc_data, tmin, tstep) assert_true(np.all(stc.data == 1.0)) assert_true(stc.data.shape[1] == n_times) # test with function fun = lambda x: x ** 2 stc = generate_stc(fwd["src"], mylabels, stc_data, tmin, tstep, fun) print stc.data # the first label has value 0, the second value 2 assert_array_almost_equal(stc.data[0], np.zeros(n_times)) assert_array_almost_equal(stc.data[-1], 4 * np.ones(n_times))
def test_generate_stc(): """ Test generation of source estimate """ mylabels = copy.deepcopy(labels) for i, label in enumerate(mylabels): label['values'] = 2 * i * np.ones(len(label['values'])) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels), n_times)) stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep) assert_true(np.all(stc.data == 1.0)) assert_true(stc.data.shape[1] == n_times) # test with function fun = lambda x: x ** 2 stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep, fun) print stc.data # the first label has value 0, the second value 2 assert_array_almost_equal(stc.data[0], np.zeros(n_times)) assert_array_almost_equal(stc.data[-1], 4 * np.ones(n_times))
def test_generate_stc(): """ Test generation of source estimate """ fwd = read_forward_solution_meg(fname_fwd, force_fixed=True) labels = [ read_label( op.join(data_path, 'MEG', 'sample', 'labels', '%s.label' % label)) for label in label_names ] mylabels = [] for i, label in enumerate(labels): new_label = Label(vertices=label.vertices, pos=label.pos, values=2 * i * np.ones(len(label.values)), hemi=label.hemi, comment=label.comment) mylabels.append(new_label) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels), n_times)) stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep) for label in labels: if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertices[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertices[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertices[0]) assert_true(np.all(stc.data[idx] == 1.0)) assert_true(stc.data[idx].shape[1] == n_times) # test with function fun = lambda x: x**2 stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep, fun) # the first label has value 0, the second value 2, the third value 6 for i, label in enumerate(labels): if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertices[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertices[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertices[0]) res = ((2. * i)**2.) * np.ones((len(idx), n_times)) assert_array_almost_equal(stc.data[idx], res)
def test_generate_stc_single_hemi(): """ Test generation of source estimate """ fwd = read_forward_solution_meg(fname_fwd, force_fixed=True) labels_single_hemi = [read_label(op.join(data_path, 'MEG', 'sample', 'labels', '%s.label' % label)) for label in label_names_single_hemi] mylabels = [] for i, label in enumerate(labels_single_hemi): new_label = Label(vertices=label.vertices, pos=label.pos, values=2 * i * np.ones(len(label.values)), hemi=label.hemi, comment=label.comment) mylabels.append(new_label) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels_single_hemi), n_times)) stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep) for label in labels_single_hemi: if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertices[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertices[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertices[0]) assert_true(np.all(stc.data[idx] == 1.0)) assert_true(stc.data[idx].shape[1] == n_times) # test with function def fun(x): return x ** 2 stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep, fun) # the first label has value 0, the second value 2, the third value 6 for i, label in enumerate(labels_single_hemi): if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertices[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertices[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertices[0]) res = ((2. * i) ** 2.) * np.ones((len(idx), n_times)) assert_array_almost_equal(stc.data[idx], res)
def test_generate_stc(): """ Test generation of source estimate """ mylabels = [] for i, label in enumerate(labels): new_label = Label(vertices=label.vertices, pos=label.pos, values=2 * i * np.ones(len(label.values)), hemi=label.hemi, comment=label.comment) mylabels.append(new_label) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels), n_times)) stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep) for label in labels: if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertno[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertno[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertno[0]) assert_true(np.all(stc.data[idx] == 1.0)) assert_true(stc.data[idx].shape[1] == n_times) # test with function fun = lambda x: x ** 2 stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep, fun) # the first label has value 0, the second value 2, the third value 6 for i, label in enumerate(labels): if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertno[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertno[hemi_idx], idx) # idx_tmp = np.intersect1d(stc.vertno[hemi_idx], label.vertices) # idx = idx_tmp.copy() # for k in range(len(idx_tmp)): # idx[k] = np.where(stc.vertno[hemi_idx] == idx_tmp[k])[0] if hemi_idx == 1: idx += len(stc.vertno[0]) assert_array_almost_equal(stc.data[idx], ((2. * i) ** 2.) * np.ones((len(idx), n_times)))
def test_generate_stc(): """ Test generation of source estimate """ mylabels = [] for i, label in enumerate(labels): new_label = Label(vertices=label.vertices, pos=label.pos, values=2 * i * np.ones(len(label.values)), hemi=label.hemi, comment=label.comment) mylabels.append(new_label) n_times = 10 tmin = 0 tstep = 1e-3 stc_data = np.ones((len(labels), n_times)) stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep) for label in labels: if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertno[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertno[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertno[0]) assert_true(np.all(stc.data[idx] == 1.0)) assert_true(stc.data[idx].shape[1] == n_times) # test with function fun = lambda x: x**2 stc = generate_stc(fwd['src'], mylabels, stc_data, tmin, tstep, fun) # the first label has value 0, the second value 2, the third value 6 for i, label in enumerate(labels): if label.hemi == 'lh': hemi_idx = 0 else: hemi_idx = 1 idx = np.intersect1d(stc.vertno[hemi_idx], label.vertices) idx = np.searchsorted(stc.vertno[hemi_idx], idx) if hemi_idx == 1: idx += len(stc.vertno[0]) assert_array_almost_equal(stc.data[idx], ((2. * i)**2.) * np.ones( (len(idx), n_times)))