Ejemplo n.º 1
0
def cni_find_func_raws(vars_dict):
    currentdir = os.getcwd()
    if not 'subject_dirs' in vars_dict:
        vars_dict['subject_dirs'] = parse_dirs(prefixes=vars_dict['subjects'])
    os.chdir(vars_dict['subject_dirs'][0])
    raw_names = []
    nii_num_pairs = []
    nii_files_zipped = glob.glob('*.nii.gz')
    for nii in nii_files_zipped:
        scan_num = int((nii.split('_'))[0])
        nii_num_pairs.append([nii,scan_num])
    for num in vars_dict['func_scan_nums']:
        if type(num) == type([]):
            raw_block = []
            for sub_num in num:
                for pair in nii_num_pairs:
                    if pair[1] == sub_num:
                        raw_block.append(pair[0])
            raw_names.append(raw_block)
        else:
            for pair in nii_num_pairs:
                if pair[1] == num:
                    raw_names.append(pair[0])
    os.chdir(currentdir)
    if not raw_names == []:
        vars_dict['raw_funcs'] = raw_names
        pprint(raw_names)
        return True
    else:
        return False
Ejemplo n.º 2
0
def cni_find_trs_slices(vars_dict):
    # should convert this to use 're' module later...
    flag = True
    if not 'subjects' in vars_dict:
        print 'ERROR: Cannot calculate TRs and slices without at least 1 subject specified.\n'
        flag = False
    elif not 'raw_funcs' in vars_dict:
        print 'No raw_funcs specified, attempting to acquire...\n'
        if not 'func_scan_nums' in vars_dict:
            print 'ERROR: Cannot calculate TRs or slices without func_scan_nums specified.\n'
            flag = False
        else:
            flag = cni_find_func_raws(vars_dict)
    if flag:
        print vars_dict['subjects']
        if not 'subject_dirs' in vars_dict:
            vars_dict['subject_dirs'] = parse_dirs(prefixes=vars_dict['subjects'])
        print vars_dict['subject_dirs']
        os.chdir(vars_dict['subject_dirs'][0])
        funcs = vars_dict['raw_funcs']
        [trs,slices] = rip_funcs_info(funcs)
        trxslices = calc_trxslices(trs,slices)
        vars_dict['trs'] = trs
        vars_dict['nslices'] = slices
        vars_dict['trxslices'] = trxslices
        os.chdir('../')
Ejemplo n.º 3
0
def cni_find_func_raws_old(vars_dict):
    currentdir = os.getcwd()
    if not 'subject_dirs' in vars_dict:
        vars_dict['subject_dirs'] = parse_dirs(prefixes=vars_dict['subjects'])
    os.chdir(vars_dict['subject_dirs'][0])
    raw_names = []
    nii_files_zipped = glob.glob('*.nii.gz')
    for nii in nii_files_zipped:
        scan_num = int((nii.split('_'))[0])
        if scan_num in vars_dict['func_scan_nums']:
            raw_names.append(nii)
    os.chdir(currentdir)
    if not raw_names == []:
        vars_dict['raw_funcs'] = raw_names
        return True
    else:
        return False