def test_spatio_temporal_src_connectivity(): """Test spatio-temporal connectivity from source spaces.""" tris = np.array([[0, 1, 2], [3, 4, 5]]) src = [dict(), dict()] connectivity = spatio_temporal_tris_connectivity(tris, 2) src[0]['use_tris'] = np.array([[0, 1, 2]]) src[1]['use_tris'] = np.array([[0, 1, 2]]) src[0]['vertno'] = np.array([0, 1, 2]) src[1]['vertno'] = np.array([0, 1, 2]) src[0]['type'] = 'surf' src[1]['type'] = 'surf' connectivity2 = spatio_temporal_src_connectivity(src, 2) assert_array_equal(connectivity.todense(), connectivity2.todense()) # add test for dist connectivity src[0]['dist'] = np.ones((3, 3)) - np.eye(3) src[1]['dist'] = np.ones((3, 3)) - np.eye(3) src[0]['vertno'] = [0, 1, 2] src[1]['vertno'] = [0, 1, 2] src[0]['type'] = 'surf' src[1]['type'] = 'surf' connectivity3 = spatio_temporal_src_connectivity(src, 2, dist=2) assert_array_equal(connectivity.todense(), connectivity3.todense()) # add test for source space connectivity with omitted vertices inverse_operator = read_inverse_operator(fname_inv) src_ = inverse_operator['src'] with pytest.warns(RuntimeWarning, match='will have holes'): connectivity = spatio_temporal_src_connectivity(src_, n_times=2) a = connectivity.shape[0] / 2 b = sum([s['nuse'] for s in inverse_operator['src']]) assert (a == b) assert_equal(grade_to_tris(5).shape, [40960, 3])
def test_spatio_temporal_src_connectivity(): """Test spatio-temporal connectivity from source spaces""" tris = np.array([[0, 1, 2], [3, 4, 5]]) src = [dict(), dict()] connectivity = spatio_temporal_tris_connectivity(tris, 2) src[0]['use_tris'] = np.array([[0, 1, 2]]) src[1]['use_tris'] = np.array([[0, 1, 2]]) src[0]['vertno'] = np.array([0, 1, 2]) src[1]['vertno'] = np.array([0, 1, 2]) connectivity2 = spatio_temporal_src_connectivity(src, 2) assert_array_equal(connectivity.todense(), connectivity2.todense()) # add test for dist connectivity src[0]['dist'] = np.ones((3, 3)) - np.eye(3) src[1]['dist'] = np.ones((3, 3)) - np.eye(3) src[0]['vertno'] = [0, 1, 2] src[1]['vertno'] = [0, 1, 2] connectivity3 = spatio_temporal_src_connectivity(src, 2, dist=2) assert_array_equal(connectivity.todense(), connectivity3.todense()) # add test for source space connectivity with omitted vertices inverse_operator = read_inverse_operator(fname_inv) with warnings.catch_warnings(record=True) as w: warnings.simplefilter('always') src_ = inverse_operator['src'] connectivity = spatio_temporal_src_connectivity(src_, n_times=2) assert len(w) == 1 a = connectivity.shape[0] / 2 b = sum([s['nuse'] for s in inverse_operator['src']]) assert_true(a == b) assert_equal(grade_to_tris(5).shape, [40960, 3])
def test_vol_connectivity(): """Test volume connectivity.""" vol = read_source_spaces(fname_vsrc) pytest.raises(ValueError, spatial_src_connectivity, vol, dist=1.) connectivity = spatial_src_connectivity(vol) n_vertices = vol[0]['inuse'].sum() assert_equal(connectivity.shape, (n_vertices, n_vertices)) assert (np.all(connectivity.data == 1)) assert (isinstance(connectivity, sparse.coo_matrix)) connectivity2 = spatio_temporal_src_connectivity(vol, n_times=2) assert_equal(connectivity2.shape, (2 * n_vertices, 2 * n_vertices)) assert (np.all(connectivity2.data == 1))
#mean_stc1.data = np.mean(mean_stc1.data[:, :, time_mask], axis=2)[:, :, None] #mean_stc2.data = np.mean(mean_stc2.data[:, :, time_mask], axis=2)[:, :, None] X1 = np.mean(X1[:, :, time_mask], axis=2)[:, :, None] X2 = np.mean(X2[:, :, time_mask], axis=2)[:, :, None] template_stc = copy.deepcopy(template_stc) template_stc.crop(tmin, tmin + template_stc.tstep) assert X1.shape == X2.shape n_samples, n_vertices, n_times = X1.shape X1 = np.ascontiguousarray(np.swapaxes(X1, 1, 2).reshape(n_samples, -1)) X2 = np.ascontiguousarray(np.swapaxes(X2, 1, 2).reshape(n_samples, -1)) connectivity = mne.spatio_temporal_src_connectivity(src, n_times) for t in thresholds: from time import time t0 = time() T_obs, clusters, cluster_pv, H0 = mem.cache(permutation_cluster_1samp_test, ignore=['n_jobs'])(X1 - X2, threshold=t, n_permutations=n_permutations, tail=0, stat_fun=stat_fun, connectivity=connectivity, n_jobs=n_jobs, seed=0) print "Time elapsed : %s (s)" % (time() - t0) clusters = [c.reshape(n_times, n_vertices).T for c in clusters]