def layout_ds005_multi_derivs(): data_dir = join(get_test_data_path(), 'ds005') layout = BIDSLayout(data_dir) deriv_dir1 = join(get_test_data_path(), 'ds005_derivs') deriv_dir2 = join(data_dir, 'derivatives', 'events') layout.add_derivatives([deriv_dir1, deriv_dir2]) return layout
def layout_ds005_multi_derivs(request, db_dir): data_dir = join(get_test_data_path(), 'ds005') database_path = str(db_dir / request.param) if request.param else None layout = BIDSLayout(data_dir, database_path=database_path) deriv_dir1 = join(get_test_data_path(), 'ds005_derivs') deriv_dir2 = join(data_dir, 'derivatives', 'events') layout.add_derivatives([deriv_dir1, deriv_dir2]) return layout
def get_files(): DSET_DIR = op.abspath('/home/data/nbc/external-datasets/ds001491/') layout = BIDSLayout(DSET_DIR) layout.add_derivatives( '/home/data/nbc/external-datasets/ds001491/derivatives/afni-step1/') task = 'images' info = {} for sub in sorted(layout.get_subjects()): print(sub) sub_info = {'files': [], 'echo_times': []} for echo in sorted(layout.get_echoes(subject=sub, task=task)): raw_files = layout.get(subject=sub, task=task, echo=echo, extensions='.nii.gz') preproc_files = layout.get(subject=sub, task=task, root='afni-step1', extensions='.nii.gz') # For some reason pybids doesn't index echo in derivatives preproc_files = [ p for p in preproc_files if 'echo-{0}'.format(echo) in p.filename ] if len(preproc_files) != 1: print(preproc_files) raise Exception('BAD') # Replace filename with path when using new version of bids sub_info['files'].append(preproc_files[0].path) metadata = raw_files[0].metadata sub_info['echo_times'].append(metadata['EchoTime']) info[sub] = sub_info with open('preproc_files.json', 'w') as fo: json.dump(info, fo, indent=4, sort_keys=True)