#Visualization- need to modify #extract coordinates from atlas mniCoordsFile = open("../../Atlases/MNI_Gordon.txt", "rb") coords = [] for line in mniCoordsFile.read().splitlines(): splitedLine = line.decode().split() newCoord = [] for part in splitedLine: if part != '': newCoord.append(float(part)) coords.append(newCoord) mniCoordsFile.close() #Slice DMN ticks = [0] min_r = 0 #create a list of indexes to slice listToSlice = [] network = "Default" # The networkToIndexDic dictionary contains for each network the location (indexes) in the common matrix. listToSlice = listToSlice + list(net_dic.dic[network]) ticks.append(ticks[-1] + len(net_dic.dic[network])) #plot- only significant vf.plotMatrix(df_corr_mat.values, os.path.join(args.out_folder, "corr_mat.png"), [network], "Different Values", ticks) #Plot brain connectome if all coordinates exists for those networks if (max(listToSlice) < len(coords)): coords_sliced = [coords[i] for i in listToSlice] vf.plotConnectome(df_corr_mat.values, coords_sliced, [network], args.out_folder, "diff_ROIs", min_r)
if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--out_folder', required=True, type=str, help='output folder') parser.add_argument('--mat', required=True, nargs='+', help='path to all matrices') parser.add_argument('--out_name', default="sig_values", required=False, type=str, help='Name for output files') args = parser.parse_args() all_mat = [] for mat in args.mat: mat_n = pd.read_excel(mat,index_col= 0).to_numpy() all_mat.append(mat_n) all_mat_mul = reduce((lambda x, y: x * y), all_mat) print(all_mat_mul) # df_mat1 = pd.read_excel(args.mat1,index_col= 0) # df_mat2 = pd.read_excel(args.mat2,index_col= 0) # #df_mat3 = pd.read_excel(args.mat3,index_col= 0) # mat1 = df_mat1.notnull().to_numpy() # mat2 = df_mat2.notnull().to_numpy() # #mat3 = df_mat3.notnull().to_numpy() # #mat1_mat2_mat3 = mat1*mat2*mat3 # mat1_mat2 = mat1*mat2 # print(mat1_mat2) network = "Default" ticks = [0] ticks.append(ticks[-1] + len(net_dic.dic[network])) vf.plotMatrix(all_mat_mul, os.path.join(args.out_folder,args.out_name + ".png"), [network], "Significant Values Two Matrices",ticks) pd.DataFrame(all_mat_mul).to_excel(os.path.join(args.out_folder,args.out_name + ".xlsx"))
newCoord.append(float(part)) coords.append(newCoord) mniCoordsFile.close() #Slice DMN ticks = [0] min_r = 0 #create a list of indexes to slice listToSlice = [] network = "Default" # The networkToIndexDic dictionary contains for each network the location (indexes) in the common matrix. listToSlice = listToSlice + list(net_dic.dic[network]) ticks.append(ticks[-1] + len(net_dic.dic[network])) #plot- only significant vf.plotMatrix(sig_values_mat_1.values, args.out_folder + "/sig_values_mat_1.png", [network], "Significant Values Matrix 1", ticks) #Plot brain connectome if all coordinates exists for those networks if (max(listToSlice) < len(coords)): coords_sliced = [coords[i] for i in listToSlice] vf.plotConnectome(sig_values_mat_1.values, coords_sliced, [network], args.out_folder, "matrix1", min_r) #plot- significant and effect size vf.plotMatrix( sig_and_es_mat_1.values, args.out_folder + "/sig_mat_1_" + str(effect_size_thr) + ".png", [network], "Effect size > " + str(effect_size_thr) + " Values Matrix 1", ticks) #Plot brain connectome if all coordinates exists for those networks if (max(listToSlice) < len(coords)):
newCoord.append(float(part)) coords.append(newCoord) mniCoordsFile.close() #Slice DMN ticks = [0] min_r = 0 #create a list of indexes to slice listToSlice = [] network = "Default" # The networkToIndexDic dictionary contains for each network the location (indexes) in the common matrix. listToSlice = listToSlice + list(net_dic.dic[network]) ticks.append(ticks[-1] + len(net_dic.dic[network])) #plot- only significant vf.plotMatrix(df_mat1.values, out+ "/mat_1.png", [network], "Matrix 1",ticks) #Plot brain connectome if all coordinates exists for those networks if(max(listToSlice) < len(coords)): coords_sliced = [coords[i] for i in listToSlice] vf.plotConnectome(df_mat1.values, coords_sliced, [network], out, "matrix1", min_r) #plot- only significant vf.plotMatrix(df_mat2.values, out+ "/mat_2.png", [network], "Matrix 2",ticks) #Plot brain connectome if all coordinates exists for those networks if(max(listToSlice) < len(coords)): coords_sliced = [coords[i] for i in listToSlice] vf.plotConnectome(df_mat2.values, coords_sliced, [network], out, "matrix2", min_r) if(max(listToSlice) < len(coords)): coords_sliced = [coords[i] for i in listToSlice]