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
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('../')
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