def test_agg_ch(self): """Test channels aggregation.""" # build dataset (with aggregation) d_3d = self._get_data(3) ds = DatasetEphy(d_3d, roi='roi', agg_ch=True, **kw) ds_roi2 = ds.get_roi_data("roi_0", copnorm=False) np.testing.assert_array_equal(ds_roi2['agg_ch'].data, [0] * 30) # build dataset (without aggregation) ds = DatasetEphy(d_3d, roi='roi', agg_ch=False, **kw) ds_roi0 = ds.get_roi_data("roi_0", copnorm=False) np.testing.assert_array_equal(ds_roi0['agg_ch'].data, [0] * 10 + [1] * 10 + [6] * 10)
def test_multivariate(self): """Test multivariate""" d_4d = self._get_data(4) # multivariate = False ds = DatasetEphy(d_4d, roi='roi', multivariate=False, **kw) x_roi2 = ds.get_roi_data('roi_2') assert x_roi2.dims == ('freqs', 'times', 'mv', 'rtr') assert x_roi2.shape == (4, 100, 1, 20) # multivariate = True d_4d = self._get_data(4) ds = DatasetEphy(d_4d, roi='roi', multivariate=True, **kw) x_roi2 = ds.get_roi_data('roi_2') assert x_roi2.dims == ('times', 'mv', 'rtr') assert x_roi2.shape == (100, 4, 20)
def test_copnorm(self): """Test function copnorm.""" # build dataset d_3d = self._get_data(3) ds = DatasetEphy(d_3d, y='y', z='z', **kw) # check copnorm range ds_roi2 = ds.get_roi_data("roi_2", copnorm=False) s1_r2, s2_r2 = d_3d[0].sel(roi='roi_2'), d_3d[1].sel(roi='roi_2') s12 = xr.concat((s1_r2, s2_r2), 'trials').T.expand_dims('mv', axis=-2) assert 9. < ds_roi2.data.ravel().mean() < 11. np.testing.assert_array_equal(s12.data, ds_roi2.data) ds_roi2 = ds.get_roi_data("roi_2", copnorm=True) assert -1. < ds_roi2.data.ravel().mean() < 1. # check values (gcrn_per_suj=False) gc_t = ds.get_roi_data("roi_2", copnorm=True, gcrn_per_suj=False) np.testing.assert_array_equal(copnorm_nd(s12.data), gc_t.data) # check values (gcrn_per_suj=True) gc_t = ds.get_roi_data("roi_2", copnorm=True, gcrn_per_suj=True) np.testing.assert_array_equal( copnorm_cat_nd(s12.data, gc_t['subject'].data), gc_t.data)
def test_get_roi_data(self): """Test getting the data of a single brain region.""" # build dataset d_3d = self._get_data(3) ds = DatasetEphy(d_3d, y='y', z='z', **kw) # get the data ds_roi2 = ds.get_roi_data("roi_2", copnorm=False) np.testing.assert_array_equal(ds_roi2.shape, (100, 1, 20)) # test the data s1_r2, s2_r2 = d_3d[0].sel(roi='roi_2'), d_3d[1].sel(roi='roi_2') s12 = xr.concat((s1_r2, s2_r2), 'trials').T.expand_dims('mv', axis=-2) np.testing.assert_array_equal(ds_roi2.data, s12.data) # test task-related variables y_12, z_12 = np.r_[y_int[0], y_int[1]], np.r_[z[0], z[1]] np.testing.assert_array_equal(y_12, ds_roi2['y'].data) np.testing.assert_array_equal(z_12, ds_roi2['z'].data)