def interp_corr(locs, corrs, width=10, vox_size=10, outfile=None, save_nii=None): nii = se.load('std', vox_size=vox_size) full_locs = nii.get_locs().values W = np.exp(_log_rbf(full_locs, locs, width=width)) interp_corrs = np.dot(corrs, W.T) bo_nii = se.Brain(data=interp_corrs, locs=full_locs) nii_bo = _brain_to_nifti(bo_nii, nii) ni_plt.plot_glass_brain(nii_bo, colorbar=True, threshold=None, vmax=1, vmin=0) #ni_plt.plot_glass_brain(nii_bo, colorbar=True, threshold=None, vmax=1, vmin=0, display_mode='lyrz') if save_nii: nii_bo.save(save_nii) if not outfile is None: plt.savefig(outfile) else: plt.show()
def test_nii_bo_nii(): bo_nii = se.Brain(_gray(20)) nii = _brain_to_nifti(bo_nii, _gray(20)) nii_0 = _gray(20).get_data().flatten() nii_0[np.isnan(nii_0)] = 0 assert np.allclose(nii_0, nii.get_data().flatten())
def test_bo_nii_bo(): nii = _brain_to_nifti(bo, _gray(20)) b_d, b_l, b_h = _nifti_to_brain(nii) assert np.allclose(bo.get_locs(), b_l)
def test_brain_to_nifti(): nii = _brain_to_nifti(bo, _gray(20)) assert isinstance(nii, se.Nifti)
sub_locs = bo_full.locs.iloc[6:] sub_data = bo_full.data.iloc[:, sub_locs.index] bo = se.Brain(data=sub_data.as_matrix(), sessions=bo_full.sessions, locs=sub_locs, sample_rate=10, meta={'brain object locs sampled': 2}) # simulate correlation matrix data = [ se.simulate_model_bos(n_samples=10, locs=locs, sample_locs=n_elecs) for x in range(n_subs) ] # test model to compare test_model = se.Model(data=data, locs=locs, rbf_width=100) bo_nii = se.Brain(_gray(20)) nii = _brain_to_nifti(bo_nii, _gray(20)) a = np.array([[1, 2, 3], [4, 5, 6], [ 7, 8, 9, ]]) b = np.array([[-1, 2, 2], [-4, 5, 5], [ -7, 8, 8, ]]) c = np.array([[0, 4, 5], [0, 10, 11], [0, 16, 17]]) add_log = _to_log_complex(a) a_log = _to_log_complex(a) b_log = _to_log_complex(b)
def test_bo_nii_bo(): nii = _brain_to_nifti(bo, _gray(20)) print(type(str(nii.header['descrip']))) b_d, b_l, b_h, affine = _nifti_to_brain(nii) assert np.allclose(bo.get_locs(), b_l)