def fetch(self, n_subjects=1, preprocess_data=True, convert=True, url=None, resume=True, force=False, verbose=1): from openfmri2bids.converter import convert # Prep the URLs if not op.exists(op.join(self.data_dir, 'ds052_BIDS')): url = 'http://openfmri.s3.amazonaws.com/tarballs/ds052_raw.tgz' opts = {'uncompress': True} files = [('ds052', url, opts)] files = self.fetcher.fetch(files, resume=resume, force=force, verbose=verbose) # Move around the files to BIDS format. if convert: convert(source_dir=op.join(self.data_dir, 'ds052'), dest_dir=op.join(self.data_dir, 'ds052_BIDS'), nii_handling='link') # Loop over subjects to extract files. anat_files = [] func_files = [] for subj_dir in glob.glob(op.join(self.data_dir, 'ds052_BIDS', 'sub-*')): anat_files += glob.glob(op.join(subj_dir, 'anatomy', '*_T1w_run*.nii.gz')) func_files += glob.glob(op.join(subj_dir, 'functional', '*_task-*_bold*.nii.gz')) if preprocess_data: func_files = self.preprocess_files(func_files, anat_files=anat_files) # return the data return dict(func=func_files, anat=anat_files)
def fetch(self, n_subjects=1, preprocess_data=True, url=None, resume=True, force=False, verbose=1): # Prep the URLs if not os.path.exists(os.path.join(self.data_dir, 'ds052_BIDS')): url = 'http://openfmri.s3.amazonaws.com/tarballs/ds052_raw.tgz' opts = {'uncompress': True} files = [('ds052', url, opts)] files = self.fetcher.fetch(files, resume=resume, force=force, verbose=verbose) # Move around the files to BIDS format. convert(source_dir=os.path.join(self.data_dir, 'ds052'), dest_dir=os.path.join(self.data_dir, 'ds052_BIDS'), nii_handling='link') # Loop over subjects to extract files. anat_files = [] func_files = [] for subj_dir in glob.glob( os.path.join(self.data_dir, 'ds052_BIDS', 'sub-*')): anat_files += glob.glob( os.path.join(subj_dir, 'anatomy', '*_T1w_run*.nii.gz')) func_files += glob.glob( os.path.join(subj_dir, 'functional', '*_task-*_bold*.nii.gz')) # if not (i == 2 and anat_file == 'highres002.nii.gz') and not i==11] if preprocess_data: func_files = self.preprocess_files(func_files, anat_files=anat_files) plt.show() # return the data return Bunch(func=func_files, anat=anat_files)
for dataset in datasets: if isinstance(dataset, dict): output_ds_dir = output_data_dir + "symlinked/%s/" % \ list(dataset.values())[0][ :-1] try: shutil.rmtree(output_ds_dir) except: pass for ses_label, ds in dataset.items(): args = {} if ds in custom_chngelog_converters: args["changelog_converter"] = custom_chngelog_converters[ds] convert(input_data_dir+"%s/"%ds, output_ds_dir, ses=ses_label, nii_handling='link', **args) else: output_ds_dir = os.path.join(output_data_dir, "symlinked/%s/" % dataset) try: shutil.rmtree(output_ds_dir) except: pass args = {} if dataset in custom_chngelog_converters: args["changelog_converter"] = custom_chngelog_converters[dataset] convert(os.path.join(input_data_dir, "%s/"%dataset), output_ds_dir, nii_handling='link', **args)
f.write(out_str) custom_chngelog_converters = {"ds113b": ds113b_converter} for dataset in datasets: if isinstance(dataset, dict): try: shutil.rmtree("/Volumes/Samsung_T1/bids_examples/symlinked/%s/"%dataset.values()[0][:-1]) except: pass for ses_label, ds in dataset.items(): args = {} if ds in custom_chngelog_converters: args["changelog_converter"] = custom_chngelog_converters[ds] convert("/Volumes/Samsung_T1/openfmri/%s/"%ds, "/Volumes/Samsung_T1/bids_examples/symlinked/%s/"%ds[:-1], ses=ses_label, nii_handling='link', **args) else: try: shutil.rmtree("/Volumes/Samsung_T1/bids_examples/symlinked/%s/"%dataset) except: pass args = {} if dataset in custom_chngelog_converters: args["changelog_converter"] = custom_chngelog_converters[dataset] convert("/Volumes/Samsung_T1/openfmri/%s/"%dataset, "/Volumes/Samsung_T1/bids_examples/symlinked/%s/"%dataset, nii_handling='link', **args)