Exemple #1
0
a[mask_left__mesh] = 1
a[mask_right__mesh] = 2
mask_left__beta = a[mask__mesh] == 1  # project mesh to mesh masked
mask_right__beta = a[mask__mesh] == 2
assert (
    mask_left__beta.sum() + mask_right__beta.sum()
) == mask_left__beta.shape[0] == mask_right__beta.shape[0] == mask__mesh.sum()
assert mask_left__mesh.sum() == mask_left__beta.sum()
assert mask_right__mesh.sum() == mask_right__beta.sum()

# Check mapping from beta left part to left_mesh
assert mask_left__beta.sum() == mask_left__left_mesh.sum()
assert mask_right__beta.sum() == mask_right__right_mesh.sum()

#############################################################################

#Save loading vectors
#############################################################################
# left
tex = np.zeros(mask_left__left_mesh.shape)
tex[mask_left__left_mesh] = beta[mask_left__beta]
print("left", np.sum(tex != 0), tex.max(), tex.min())
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_beta_left.gii"),
                        data=tex)
# right
tex = np.zeros(mask_right__right_mesh.shape)
tex[mask_right__right_mesh] = beta[mask_right__beta]
print("right", np.sum(tex != 0), tex.max(), tex.min())
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_beta_right.gii"),
                        data=tex)
Exemple #2
0
#############################################################################
# Some basic stat before centering/scaling
means = np.mean(X, axis=0)
stds = np.std(X, axis=0)
mins = np.min(X, axis=0)
maxs = np.max(X, axis=0)
print "Means:", means.min(), means.max(), means.mean()
print "Std:",  stds.min(), stds.max(), stds.mean()
print "Mins:", mins.min(), mins.max(), mins.mean()
print "Maxs:", maxs.min(), maxs.max(), maxs.mean(), (maxs == 0).sum()



arr = np.zeros(mask.shape); arr[mask] = means
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "mean.gii"), data=arr)#, intent='NIFTI_INTENT_NONE')
arr = np.zeros(mask.shape); arr[mask] = stds
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "std.gii"), data=arr)#, intent='NIFTI_INTENT_NONE')
arr = np.zeros(mask.shape); arr[mask] = maxs
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "max.gii"), data=arr)#, intent='NIFTI_INTENT_NONE')


#############################################################################

X = np.hstack([Z, X])
assert X.shape == (34, 314785)


# Center/scale 
X -= X.mean(axis=0)
X /= X.std(axis=0)
Exemple #3
0
# Check mapping from beta left part to left_mesh
assert mask_left__beta.sum() == mask_left__left_mesh.sum()
assert mask_right__beta.sum() == mask_right__right_mesh.sum()

#############################################################################
#SVM weight map
svm_weight_map = "/neurospin/brainomics/2016_schizConnect/analysis/all_studies/Freesurfer/all_subjects_less_than_30years/results/svm/svm_model_selection_5folds_all_subjects_less_than_30years/model_selectionCV/all/all/1e-09/beta.npz"
svm = np.load(svm_weight_map)['arr_0'].T


svm_t,t = array_utils.arr_threshold_from_norm2_ratio(svm,0.99)
 # left
tex = np.zeros(mask_left__left_mesh.shape)
tex[mask_left__left_mesh] = svm_t[mask_left__beta]
print ("left", np.sum(tex != 0), tex.max(), tex.min())
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "svm_weight_map_left.gii"), data=tex)
# right
tex = np.zeros(mask_right__right_mesh.shape)
tex[mask_right__right_mesh] = svm_t[mask_right__beta]
print ("right", np.sum(tex != 0), tex.max(), tex.min())
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "svm_weight_map_right.gii"), data=tex)
   
#############################################################################
#Enet weight map
enet_weight_map = "/neurospin/brainomics/2016_schizConnect/analysis/all_studies/Freesurfer/all_subjects_less_than_30years/results/enettv/model_selection_5folds_all_subjects_less_than_30years/model_selectionCV/refit/refit/0.1_0.36_0.04_0.6/beta.npz"
enet = np.load(enet_weight_map)['arr_0']


enet_t,t = array_utils.arr_threshold_from_norm2_ratio(enet,0.99)
 # left
tex = np.zeros(mask_left__left_mesh.shape)
Exemple #4
0
enet_weight_map = "/neurospin/brainomics/2017_asd_charles/Freesurfer/results/\
enettv_asd_charles_10000ite/model_selectionCV/refit/refit/0.1_0.0_0.0_1.0"

param = os.path.basename(enet_weight_map)
beta_path = os.path.join(enet_weight_map, "beta.npz")
penalty_start = 5
enet = np.load(beta_path)['arr_0'][penalty_start:, :]

enet_t, t = array_utils.arr_threshold_from_norm2_ratio(enet, 0.99)
# left
tex = np.zeros(mask_left__left_mesh.shape)
tex[mask_left__left_mesh] = enet_t[mask_left__beta]
print("left", np.sum(tex != 0), tex.max(), tex.min())
mesh_utils.save_texture(filename=os.path.join(OUTPUT,
                                              param + "_weight_map_left.gii"),
                        data=tex)
# right
tex = np.zeros(mask_right__right_mesh.shape)
tex[mask_right__right_mesh] = enet_t[mask_right__beta]
print("right", np.sum(tex != 0), tex.max(), tex.min())
mesh_utils.save_texture(filename=os.path.join(OUTPUT,
                                              param + "_weight_map_right.gii"),
                        data=tex)

#######################################################################################
OUTPUT = "/neurospin/brainomics/2017_asd_charles/Freesurfer/results/svm/svm_asd/weight_map"

shutil.copyfile(os.path.join(TEMPLATE_PATH, "lh.pial.gii"),
                os.path.join(OUTPUT, "lh.pial.gii"))
shutil.copyfile(os.path.join(TEMPLATE_PATH, "rh.pial.gii"),
Exemple #5
0
print "Mins:", mins.min(), mins.max(), mins.mean()
print "Maxs:", maxs.min(), maxs.max(), maxs.mean(), (maxs == 0).sum()
#In [93]: Means: 0.00120785424662 4.70434341146 2.20050826134
#In [94]: Std: 0.0170816385694 2.18101036803 0.593103047434
#In [95]: Mins: 0.0 3.02653193474 0.936884414047
#In [96]: Maxs: 0.24277870357 5.0 3.94083362002 0

# Smoothed
#Means: 0.000738471496825 4.4246063956 2.17232778568
#Std: 0.010000705246 1.16976456436 0.386480145866
#Mins: 0.0 3.22148299217 1.24649752094
#Maxs: 0.0534101724625 4.97702121735 3.30445936329 0

arr = np.zeros(mask.shape)
arr[mask] = means
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "mean.gii"),
                        data=arr)  #, intent='NIFTI_INTENT_NONE')
arr = np.zeros(mask.shape)
arr[mask] = stds
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "std.gii"),
                        data=arr)  #, intent='NIFTI_INTENT_NONE')
arr = np.zeros(mask.shape)
arr[mask] = maxs
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "max.gii"),
                        data=arr)  #, intent='NIFTI_INTENT_NONE')

# anatomist mean.gii std.gii max.gii ../freesurfer_template/lrh.pial.gii
#############################################################################
# Center/scale
X -= X.mean(axis=0)
X /= X.std(axis=0)
n, p = X.shape
Exemple #6
0
    np.vstack(tnsr_inv_pc12__lacunes__perfo_to_yaxis_all)
mesh_processing.mesh_from_arrays(
    tnsr_inv_pc12__lacunes__perfo_to_yaxis_all,
    tri_lacunes_all,
    path=os.path.join(OUTPUT, "tnsr_inv_pc12__lacunes__perfo_to_yaxis.gii"))

### =======================================================================
### brain__lacunes__native & brain__perfo__native
### =======================================================================

aims.write(brain_mesh_lacunes__native_all,
           os.path.join(OUTPUT, "brain__lacunes__native.gii"))
aims.write(brain_mesh_perfo__native_all,
           os.path.join(OUTPUT, "brain__perforators__native.gii"))

for k in textures:
    textures[k]["lacunes"] = np.hstack(textures[k]["lacunes"])
    #print textures[k]
    mesh_processing.save_texture(
        filename=os.path.join(OUTPUT, "tex__lacunes__%s.gii" % k),
        data=textures[k]["lacunes"])  #, intent='NIFTI_INTENT_NONE')
    textures[k]["perforators"] = np.hstack(textures[k]["perforators"])
    #print textures[k]
    mesh_processing.save_texture(
        filename=os.path.join(OUTPUT, "tex__perforators__%s.gii" % k),
        data=textures[k]["perforators"])  #, intent='NIFTI_INTENT_NONE')
"""
anatomist /tmp/mesh_*.gii
freeview -f mnts-inv_pc12_scaled.gii:overlay=tex_tensor_invariant_fa.gii
"""
Exemple #7
0
comp2_all = comp2
comp3_all = comp3
comp4_all = comp4
comp5_all = comp5
comp6_all = comp6
comp7_all = comp7
comp8_all = comp8
comp9_all = comp9

#Save loading vectors
#############################################################################
# left
tex = np.zeros(mask_left__left_mesh.shape)
tex[mask_left__left_mesh] = comp0[mask_left__beta]
print "left", np.sum(tex != 0), tex.max(), tex.min()
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_0_left.gii"),
                        data=tex)
# right
tex = np.zeros(mask_right__right_mesh.shape)
tex[mask_right__right_mesh] = comp0[mask_right__beta]
print "right", np.sum(tex != 0), tex.max(), tex.min()
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_0_right.gii"),
                        data=tex)

tex = np.zeros(mask_left__left_mesh.shape)
tex[mask_left__left_mesh] = comp1[mask_left__beta]
print "left", np.sum(tex != 0), tex.max(), tex.min()
mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_1_left.gii"),
                        data=tex)
# right
tex = np.zeros(mask_right__right_mesh.shape)
tex[mask_right__right_mesh] = comp1[mask_right__beta]
Exemple #8
0
for k in todo:
    todo[k]["path"] = os.path.join("5cv", "*", "_".join([str(p) for p in todo[k]["param"]]))

#############################################################################
## CV 0
for k in todo:
    #k = "l1l2"
    Betas = np.vstack([array_utils.arr_threshold_from_norm2_ratio(
    np.load(os.path.join(filename, "beta.npz"))['arr_0'][config["penalty_start"]:, :].ravel(), .99)[0]
        for filename in glob.glob(todo[k]["path"])])
    # left
    tex = np.zeros(mask_left__left_mesh.shape)
    tex[mask_left__left_mesh] = Betas[0, mask_left__beta]
    print k, "left", np.sum(tex != 0), tex.max(), tex.min()
    mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_%s_left.gii" % k), data=tex)#, intent='NIFTI_INTENT_TTEST')
    tex[mask_left__left_mesh] = np.sum(Betas[1:, mask_left__beta] != 0, axis=0)
    mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_%s_left_cvcountnonnull.gii" % k), data=tex)#, intent='NIFTI_INTENT_TTEST')
    # right
    tex = np.zeros(mask_right__right_mesh.shape)
    tex[mask_right__right_mesh] = Betas[0, mask_right__beta]
    print k, "right", np.sum(tex != 0), tex.max(), tex.min()
    mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_%s_right.gii" % k), data=tex)#, intent='NIFTI_INTENT_TTEST')
    tex[mask_right__right_mesh] = np.sum(Betas[1:, mask_right__beta] != 0, axis=0)
    mesh_utils.save_texture(filename=os.path.join(OUTPUT, "tex_%s_right_cvcountnonnull.gii" % k), data=tex)#, intent='NIFTI_INTENT_TTEST')

"""
l2tv left 76582 0.00314405576456 -0.00234570367821
l2tv left 97835 0.0256844622603 -0.0057810300272
l1tv left 2514 0.00345520687922 -0.00792580028994
l1tv left 2420 0.0253011691567 -0.00683345243997