def compute_graph_lasso_covariance(subject_id, group, session='func1', preprocessing_folder='pipeline_1', plot=True, save=True, save_file=True, msdl=False): """Returns graph lasso covariance for a subject_id """ # load timeseries if msdl: ts = load_dynacomp_msdl_timeseries( subject_id, session=session, preprocessing_folder=preprocessing_folder) roi_names, roi_coords = load_msdl_names_and_coords() else: ts = load_dynacomp_roi_timeseries( subject_id, session=session, preprocessing_folder=preprocessing_folder) # load rois roi_names, roi_coords = load_roi_names_and_coords(subject_id) # compute covariance gl = covariance.GraphLassoCV(verbose=2) gl.fit(ts) if plot: plot_connectivity_matrix(subject_id, group, gl.covariance_, roi_names, 'gl_covariance', session, preprocessing_folder, save, msdl) plot_connectivity_matrix(subject_id, group, gl.precision_, roi_names, 'gl_precision', session, preprocessing_folder, save, msdl) sparsity = (gl.precision_ == 0) plot_connectivity_matrix(subject_id, group, sparsity, roi_names, 'gl_sparsity', session, preprocessing_folder, save, msdl) plot_connectivity_glassbrain(subject_id, group, gl.covariance_, roi_coords, 'gl_covariance', session, preprocessing_folder, save, msdl) if save_file: CONN_DIR = set_data_base_dir('Dynacomp/connectivity') sparsity = (gl.precision_ == 0) if not os.path.isdir(os.path.join(CONN_DIR, subject_id)): os.mkdir(os.path.join(CONN_DIR, subject_id)) output_file = os.path.join( CONN_DIR, subject_id, 'gl_' + session + '_' + preprocessing_folder) if msdl: output_file += '_msdl' np.savez(output_file, covariance=gl.covariance_, precision=gl.precision_, sparsity=sparsity, roi_names=roi_names, roi_coords=roi_coords) return gl, roi_names, roi_coords
def compute_graph_lasso_covariance(subject_id, group, session='func1', preprocessing_folder='pipeline_1', plot=True, save=True, save_file=True, msdl=False): """Returns graph lasso covariance for a subject_id """ # load timeseries if msdl: ts = load_dynacomp_msdl_timeseries(subject_id, session=session, preprocessing_folder=preprocessing_folder) roi_names, roi_coords = load_msdl_names_and_coords() else: ts = load_dynacomp_roi_timeseries(subject_id, session=session, preprocessing_folder=preprocessing_folder) # load rois roi_names, roi_coords = load_roi_names_and_coords(subject_id) # compute covariance gl = covariance.GraphLassoCV(verbose=2) gl.fit(ts) if plot: plot_connectivity_matrix(subject_id, group, gl.covariance_, roi_names, 'gl_covariance', session, preprocessing_folder, save, msdl) plot_connectivity_matrix(subject_id, group, gl.precision_, roi_names, 'gl_precision', session, preprocessing_folder, save, msdl) sparsity = (gl.precision_ == 0) plot_connectivity_matrix(subject_id, group, sparsity, roi_names, 'gl_sparsity', session, preprocessing_folder, save, msdl) plot_connectivity_glassbrain(subject_id, group, gl.covariance_, roi_coords, 'gl_covariance', session, preprocessing_folder, save, msdl) if save_file: CONN_DIR = set_data_base_dir('Dynacomp/connectivity') sparsity = (gl.precision_ == 0) if not os.path.isdir(os.path.join(CONN_DIR, subject_id)): os.mkdir(os.path.join(CONN_DIR, subject_id)) output_file = os.path.join(CONN_DIR, subject_id, 'gl_' + session + '_' + preprocessing_folder) if msdl: output_file += '_msdl' np.savez(output_file, covariance=gl.covariance_, precision=gl.precision_, sparsity=sparsity, roi_names=roi_names, roi_coords=roi_coords) return gl, roi_names, roi_coords
def compute_pearson_connectivity(subject_id, group, session='func1', preprocessing_folder='pipeline_1', plot=True, save=True, save_file=True, msdl=False): """Returns Pearson correlation coefficient for a subject_id """ # load timeseries if msdl: ts = load_dynacomp_msdl_timeseries( subject_id, session=session, preprocessing_folder=preprocessing_folder) roi_names, roi_coords = load_msdl_names_and_coords() else: ts = load_dynacomp_roi_timeseries( subject_id, session=session, preprocessing_folder=preprocessing_folder) # load rois roi_names, roi_coords = load_roi_names_and_coords(subject_id) # pearson correlation pc = np.corrcoef(ts.T) if plot: print session plot_connectivity_matrix(subject_id, group, pc, roi_names, 'pc', session, preprocessing_folder, save, msdl) plot_connectivity_glassbrain(subject_id, group, pc, roi_coords, 'pc', session, preprocessing_folder, save, msdl) if save_file: CONN_DIR = set_data_base_dir('Dynacomp/connectivity') if not os.path.isdir(os.path.join(CONN_DIR, subject_id)): os.mkdir(os.path.join(CONN_DIR, subject_id)) output_file = os.path.join( CONN_DIR, subject_id, 'pc_' + session + '_' + preprocessing_folder) if msdl: output_file += '_msdl' np.savez(output_file, correlation=pc, roi_names=roi_names, roi_coords=roi_coords) return pc, roi_names, roi_coords
def compute_pearson_connectivity(subject_id, group, session='func1', preprocessing_folder='pipeline_1', plot=True, save=True, save_file=True, msdl=False): """Returns Pearson correlation coefficient for a subject_id """ # load timeseries if msdl: ts = load_dynacomp_msdl_timeseries(subject_id, session=session, preprocessing_folder=preprocessing_folder) roi_names, roi_coords = load_msdl_names_and_coords() else: ts = load_dynacomp_roi_timeseries(subject_id, session=session, preprocessing_folder=preprocessing_folder) # load rois roi_names, roi_coords = load_roi_names_and_coords(subject_id) # pearson correlation pc = np.corrcoef(ts.T) if plot: print session plot_connectivity_matrix(subject_id, group, pc, roi_names, 'pc', session, preprocessing_folder, save, msdl) plot_connectivity_glassbrain(subject_id, group, pc, roi_coords, 'pc', session, preprocessing_folder, save, msdl) if save_file: CONN_DIR = set_data_base_dir('Dynacomp/connectivity') if not os.path.isdir(os.path.join(CONN_DIR, subject_id)): os.mkdir(os.path.join(CONN_DIR, subject_id)) output_file = os.path.join(CONN_DIR, subject_id, 'pc_' + session + '_' + preprocessing_folder) if msdl: output_file += '_msdl' np.savez(output_file, correlation=pc, roi_names=roi_names, roi_coords=roi_coords) return pc, roi_names, roi_coords
def compute_group_sparse_covariance(dataset, session='func1', preprocessing_folder='pipeline_1', plot=True, save=True, save_file=True, msdl=False): """Returns Group sparse covariance for all subjects """ ts = [] # load timeseries if msdl: for subject_id in dataset.subjects: ts.append(load_dynacomp_msdl_timeseries(subject_id,\ session=session, preprocessing_folder=preprocessing_folder)) roi_names, roi_coords = load_msdl_names_and_coords() else: for subject_id in dataset.subjects: ts.append(load_dynacomp_roi_timeseries(subject_id, session=session,\ preprocessing_folder=preprocessing_folder)) # load rois roi_names, roi_coords = load_roi_names_and_coords(subject_id) gsc = GroupSparseCovarianceCV(verbose=2) gsc.fit(ts) if plot: for i in range(len(dataset.subjects)): if not msdl: # load rois roi_names,\ roi_coords = load_roi_names_and_coords(dataset.subjects[i]) plot_connectivity_matrix(dataset.subjects[i], dataset.group[i], gsc.covariances_[..., i], roi_names, 'gsc_covariance', session, preprocessing_folder, save, msdl) plot_connectivity_matrix(dataset.subjects[i], dataset.group[i], gsc.precisions_[..., i], roi_names, 'gsc_precision', session, preprocessing_folder, save, msdl) sparsity = (gsc.precisions_[..., i] == 0) plot_connectivity_matrix(dataset.subjects[i], dataset.group[i], sparsity, roi_names, 'gsc_sparsity', session, preprocessing_folder, save, msdl) plot_connectivity_glassbrain(dataset.subjects[i], dataset.group[i], gsc.covariances_[..., i], roi_coords, 'gsc_covariance', session, preprocessing_folder, save, msdl) for i in range(len(dataset.subjects)): if not msdl: # load rois roi_names,\ roi_coords = load_roi_names_and_coords(dataset.subjects[i]) sparsity = (gsc.precisions_[..., i] == 0) CONN_DIR = set_data_base_dir('Dynacomp/connectivity') subject_id = dataset.subjects[i] if not os.path.isdir(os.path.join(CONN_DIR, subject_id)): os.mkdir(os.path.join(CONN_DIR, subject_id)) output_file = os.path.join(CONN_DIR, subject_id, 'gsc_' + session + '_' + preprocessing_folder) if msdl: output_file += '_msdl' np.savez(output_file, covariance=gsc.covariances_[..., i], precision=gsc.precisions_[..., i], sparsity=sparsity, roi_names=roi_names, roi_coords=roi_coords) return gsc, roi_names, roi_coords
# -*- coding: utf-8 -*- """ Created on Fri Apr 10 17:29:17 2015 @author: [email protected] """ from loader import load_dynacomp, load_dynacomp_msdl_timeseries import matplotlib.pyplot as plt import numpy as np from sklearn.preprocessing import StandardScaler session = 'func1' dataset = load_dynacomp(preprocessing_folder='pipeline_2', prefix='resampled_wr') for subject_id in dataset.subjects: msdl1 = load_dynacomp_msdl_timeseries(subject_id=subject_id, session=session, preprocessing_folder='pipeline_1') msdl2 = load_dynacomp_msdl_timeseries(subject_id=subject_id, session=session, preprocessing_folder='pipeline_2') for i in range(msdl1.shape[1]): plt.figure() plt.plot(StandardScaler().fit_transform(msdl1[:100, i])) plt.plot(StandardScaler().fit_transform(msdl2[:100, i])) break
def compute_group_sparse_covariance(dataset, session='func1', preprocessing_folder='pipeline_1', plot=True, save=True, save_file=True, msdl=False): """Returns Group sparse covariance for all subjects """ ts = [] # load timeseries if msdl: for subject_id in dataset.subjects: ts.append(load_dynacomp_msdl_timeseries(subject_id,\ session=session, preprocessing_folder=preprocessing_folder)) roi_names, roi_coords = load_msdl_names_and_coords() else: for subject_id in dataset.subjects: ts.append(load_dynacomp_roi_timeseries(subject_id, session=session,\ preprocessing_folder=preprocessing_folder)) # load rois roi_names, roi_coords = load_roi_names_and_coords(subject_id) gsc = GroupSparseCovarianceCV(verbose=2) gsc.fit(ts) if plot: for i in range(len(dataset.subjects)): if not msdl: # load rois roi_names,\ roi_coords = load_roi_names_and_coords(dataset.subjects[i]) plot_connectivity_matrix(dataset.subjects[i], dataset.group[i], gsc.covariances_[..., i], roi_names, 'gsc_covariance', session, preprocessing_folder, save, msdl) plot_connectivity_matrix(dataset.subjects[i], dataset.group[i], gsc.precisions_[..., i], roi_names, 'gsc_precision', session, preprocessing_folder, save, msdl) sparsity = (gsc.precisions_[..., i] == 0) plot_connectivity_matrix(dataset.subjects[i], dataset.group[i], sparsity, roi_names, 'gsc_sparsity', session, preprocessing_folder, save, msdl) plot_connectivity_glassbrain(dataset.subjects[i], dataset.group[i], gsc.covariances_[..., i], roi_coords, 'gsc_covariance', session, preprocessing_folder, save, msdl) for i in range(len(dataset.subjects)): if not msdl: # load rois roi_names,\ roi_coords = load_roi_names_and_coords(dataset.subjects[i]) sparsity = (gsc.precisions_[..., i] == 0) CONN_DIR = set_data_base_dir('Dynacomp/connectivity') subject_id = dataset.subjects[i] if not os.path.isdir(os.path.join(CONN_DIR, subject_id)): os.mkdir(os.path.join(CONN_DIR, subject_id)) output_file = os.path.join( CONN_DIR, subject_id, 'gsc_' + session + '_' + preprocessing_folder) if msdl: output_file += '_msdl' np.savez(output_file, covariance=gsc.covariances_[..., i], precision=gsc.precisions_[..., i], sparsity=sparsity, roi_names=roi_names, roi_coords=roi_coords) return gsc, roi_names, roi_coords