Пример #1
0
def main(datafiles):
    for subj_file in datafiles:
        subid = gu.get_subid(subj_file, subjstr)
        print 'Starting on subject %s'%(subid)
        dat, aff = gu.load_nii(subj_file)
        nets_dat = dat[:,:,:,net_idx]
        nets_diff_array = calculate_diff_map(nets_dat)
        nets_diff_outfile = os.path.join(outdir, ''.join(['nets_diff_',subid,'.nii.gz']))
        gu.save_nii(nets_diff_outfile, nets_diff_array, aff)
Пример #2
0
    return (float(overlap_nvoxels)/float(roi_nvoxels))

if __name__ == '__main__':


    ########### Set parameters ##########
    datadir = '/home/jagust/rsfmri_ica/GIFT/GICA_d30/BPM/results/PIB_Index_log_scaled/Results_ROIs'
    roiglob = os.path.join(datadir,'ic*.nii.gz')
    roi_files = glob(roiglob)
    template = '/home/jagust/rsfmri_ica/GIFT/GICA_d30/network_volumes/netmasks/ic_masks_4D.nii.gz'
    template_mapfile = '/home/jagust/rsfmri_ica/GIFT/GICA_d30/network_volumes/netmasks/template_mapping.txt'
    outfile = os.path.join(datadir, 'Network_Labels_GICA30.csv')
    ####################################

    #Load template and 4D roi data
    tempdat, _ = utils.load_nii(template)
    temp_mapping = utils.load_mapping(template_mapfile)
    # Verify the shape of datasets match


    roi_labels = {}
    for roi in roi_files:
        overlap_dict = {}
        _,roi_name,_ = utils.split_filename(roi)
        roidat, _ = utils.load_nii(roi)
        assert tempdat.shape[:-1] == roidat.shape
        for j in range(tempdat.shape[3]):
            temp_mask = tempdat[:,:,:,j]
            pct_overlap = calc_pct_overlap(roidat, temp_mask)
            net_name = temp_mapping[str(j+1)].split('.')[0]
            overlap_dict[net_name] = pct_overlap
Пример #3
0
def calc_pct_overlap(roi, target):
    roi_nvoxels = roi.sum()
    overlap = (roi==target) * roi
    overlap_nvoxels = overlap.sum()
    return (overlap_nvoxels/roi_nvoxels)

########### Set parameters ##########
datadir = '/home/jagust/rsfmri_ica/cluster_roi/ROIs'
roi4Dfile = os.path.join(datadir,'rm_group_tcorr_cluster_150_4D.nii.gz')
template = '/home/jagust/jelman/templates/Yeo_JNeurophysiol11_MNI152/3mm/Yeo2011_7Networks_4D_LiberalMask.nii.gz'
template_mapfile = '/home/jagust/jelman/templates/Yeo_JNeurophysiol11_MNI152/template_mapping.txt'
outfile = os.path.join(datadir, 'ROI_Labels.csv')
####################################

#Load template and 4D roi data
tempdat, _ = utils.load_nii(template)
temp_mapping = utils.load_mapping(template_mapfile)
roi4Ddat, _ = utils.load_nii(roi4Dfile)
# Verify the shape of datasets match
assert tempdat.shape[:-1] == roi4Ddat.shape[:-1]

roi_labels = {}
for i in range(roi4Ddat.shape[3]):
    roidat = roi4Ddat[:,:,:,i]
    for j in range(tempdat.shape[3]):
        temp_mask = tempdat[:,:,:,j]
        pct_overlap = calc_pct_overlap(roidat, temp_mask)
        if pct_overlap > .45:
            roi_name = 'roi%03d'%(i+1)
            label_name = temp_mapping[str(j+1)]
            roi_labels[roi_name] = label_name
Пример #4
0
    return (float(overlap_nvoxels) / float(roi_nvoxels))


if __name__ == '__main__':

    ########### Set parameters ##########
    datadir = '/home/jagust/rsfmri_ica/GIFT/GICA_d30/BPM/results/PIB_Index_log_scaled/Results_ROIs'
    roiglob = os.path.join(datadir, 'ic*.nii.gz')
    roi_files = glob(roiglob)
    template = '/home/jagust/rsfmri_ica/GIFT/GICA_d30/network_volumes/netmasks/ic_masks_4D.nii.gz'
    template_mapfile = '/home/jagust/rsfmri_ica/GIFT/GICA_d30/network_volumes/netmasks/template_mapping.txt'
    outfile = os.path.join(datadir, 'Network_Labels_GICA30.csv')
    ####################################

    #Load template and 4D roi data
    tempdat, _ = utils.load_nii(template)
    temp_mapping = utils.load_mapping(template_mapfile)
    # Verify the shape of datasets match

    roi_labels = {}
    for roi in roi_files:
        overlap_dict = {}
        _, roi_name, _ = utils.split_filename(roi)
        roidat, _ = utils.load_nii(roi)
        assert tempdat.shape[:-1] == roidat.shape
        for j in range(tempdat.shape[3]):
            temp_mask = tempdat[:, :, :, j]
            pct_overlap = calc_pct_overlap(roidat, temp_mask)
            net_name = temp_mapping[str(j + 1)].split('.')[0]
            overlap_dict[net_name] = pct_overlap
        roi_labels[roi_name] = overlap_dict