base_feature, atlas, fwhm, node_size, weight_method)

        flag_nan_exists = False
        flag_incomplete = False
        flag_unexpected = False
        dataset = MLDataset()

        incomplete_processing[base_feature][weight_method] = dict()
        comb_nan_values[base_feature][weight_method] = dict()
        for ds_name in dataset_list:
            # out_dir = pjoin(proc_dir, 'graynet', '{}_{}_fwhm{}'.format(base_feature, atlas, fwhm))
            out_dir = pjoin(base_dir,
                            'graynet_{]_{}'.format(expt_prefix, atlas))
            meta_list = pjoin(base_dir,
                              'diagnosis_meta_data_{}.csv'.format(ds_name))
            sample_ids, classes = run_workflow.get_metadata(meta_list)

            incomplete_processing[base_feature][weight_method][ds_name] = list(
            )
            comb_nan_values[base_feature][weight_method][ds_name] = list()
            for sample in sample_ids:
                feat_path = pjoin(out_dir, sample,
                                  '{}_{}'.format(expt_id, file_ext))
                if pexists(feat_path):
                    graph = nx.read_graphml(feat_path)
                    data = get_weights_order(graph, atlas_rois)
                    idx_nan = np.logical_not(np.isfinite(data))
                    local_flag_nan_exists = np.count_nonzero(idx_nan) > 0
                    if local_flag_nan_exists:
                        flag_nan_exists = True
                        comb_nan_values[base_feature][weight_method][
Exemple #2
0
    proc_dir = pjoin(base_dir, dataset_name, 'processed')
    freesurfer_dir = pjoin(proc_dir, 'freesurfer')
    target_list_dir = pjoin(proc_dir, 'target_lists')

    vis_out_dir = pjoin(proc_dir, 'visualizations')
    if not pexists(vis_out_dir):
        os.mkdir(vis_out_dir)

    subject_id_list = pjoin(target_list_dir, 'graynet.compute.list')
    # meta_file = pjoin(target_list_dir, 'meta_4RTNI_and_PPMI.csv')
    meta_file = pjoin(target_list_dir, 'meta_{}.csv'.format(dataset_name))

    for base_feature in features_freesurfer:

        id_list, classes = get_metadata(meta_file)
        class_set = list(set(classes.values()))
        class_set.sort()
        labels = {sub: class_set.index(cls) for sub, cls in classes.items()}

        out_path = pjoin(
            vis_out_dir,
            'raw_features_{}_{}.MLDataset.pkl'.format(base_feature,
                                                      '_'.join(class_set)))

        try:
            ds = MLDataset(filepath=out_path)
        except:
            traceback.print_exc()
            id_data = import_features(freesurfer_dir,
                                      id_list,