From 38e60c1133b779ea2fdc600982a60391607e41fc Mon Sep 17 00:00:00 2001 From: LuciMoore Date: Tue, 30 Jul 2024 18:39:50 -0500 Subject: [PATCH 1/6] pair fmri FM AP and PA based on full list available first and then filter by QC to only download pairs that both have QC=1 --- src/aws_downloader.py | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/aws_downloader.py b/src/aws_downloader.py index ee7699b..f2935b1 100755 --- a/src/aws_downloader.py +++ b/src/aws_downloader.py @@ -159,12 +159,11 @@ def main(argv=sys.argv): if 'anat' in modalities: (file_paths, has_t1, has_t2) = add_anat_paths(sub_pass_QC_df, file_paths) + # Pass in sub_ses_df here as well for func so that the fmaps can be properly paired if 'func' in modalities: - (file_paths, has_sefm, has_rsfmri, has_mid, has_sst, has_nback) = add_func_paths(sub_pass_QC_df, file_paths) + (file_paths, has_sefm, has_rsfmri, has_mid, has_sst, has_nback) = add_func_paths(sub_ses_df, sub_pass_QC_df, file_paths) if 'dwi' in modalities: (file_paths, has_dti) = add_dwi_paths(sub_pass_QC_df, file_paths) - - # TODO: log subject level information print(' t1=%s, t2=%s, sefm=%s, rsfmri=%s, mid=%s, sst=%s, nback=%s, has_dti=%s' % (has_t1, has_t2, has_sefm, has_rsfmri, has_mid, has_sst, has_nback, has_dti)) @@ -237,20 +236,19 @@ def add_anat_paths(passed_QC_group, file_paths): return (file_paths, has_t1, has_t2) -def add_func_paths(passed_QC_group, file_paths): - ## Pair SEFMs and only download if both pass QC - # Check first if just the FM exists - FM_df = passed_QC_group[passed_QC_group['image_description'] == 'ABCD-fMRI-FM'] - if FM_df.empty: - FM_AP_df = passed_QC_group[passed_QC_group['image_description'] == 'ABCD-fMRI-FM-AP'] - FM_PA_df = passed_QC_group[passed_QC_group['image_description'] == 'ABCD-fMRI-FM-PA'] - if FM_AP_df.shape[0] != FM_PA_df.shape[0] or FM_AP_df.empty: - has_sefm = 0 # No SEFMs. Invalid subject - else: - for i in range(0, FM_AP_df.shape[0]): - if FM_AP_df.iloc[i]['QC'] == 1.0 and FM_PA_df.iloc[i]['QC'] == 1.0: - FM_df = FM_df.append(FM_AP_df.iloc[i]) - FM_df = FM_df.append(FM_PA_df.iloc[i]) +def add_func_paths(all_group, passed_QC_group, file_paths): + ## Pair and download SEFMs first based on all fmaps available + FM_AP_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-AP'] + FM_PA_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-PA'] + FM_df = pd.DataFrame() + + if FM_AP_df.shape[0] != FM_PA_df.shape[0] or FM_AP_df.empty: + has_sefm = 0 # No SEFMs. Invalid subject + else: + for i in range(0, FM_AP_df.shape[0]): + if FM_AP_df.iloc[i]['QC'] == 1.0 and FM_PA_df.iloc[i]['QC'] == 1.0: + FM_df = FM_df.append(FM_AP_df.iloc[i]) + FM_df = FM_df.append(FM_PA_df.iloc[i]) if FM_df.empty: has_sefm = 0 # No SEFMs. Invalid subject else: @@ -258,7 +256,6 @@ def add_func_paths(passed_QC_group, file_paths): file_paths += [file_path] has_sefm = FM_df.shape[0] - ## List all rsfMRI scans that pass QC RS_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-rsfMRI'] if RS_df.empty: From ec9d0151b33240fc3fc8db3c7dc51c63f43aafd8 Mon Sep 17 00:00:00 2001 From: LuciMoore Date: Tue, 30 Jul 2024 19:41:53 -0500 Subject: [PATCH 2/6] added same logic to dwi as func to make pairing AP and PA fmaps more flexible if the reformatted fasttrack doesn't filter out QC fail data (and QC fail data is instead filtered out when running aws_downloader) --- src/aws_downloader.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/aws_downloader.py b/src/aws_downloader.py index f2935b1..1deac84 100755 --- a/src/aws_downloader.py +++ b/src/aws_downloader.py @@ -159,11 +159,15 @@ def main(argv=sys.argv): if 'anat' in modalities: (file_paths, has_t1, has_t2) = add_anat_paths(sub_pass_QC_df, file_paths) - # Pass in sub_ses_df here as well for func so that the fmaps can be properly paired + + # Pass in sub_ses_df as well for func and dwi so that the fmaps can be properly paired if 'func' in modalities: (file_paths, has_sefm, has_rsfmri, has_mid, has_sst, has_nback) = add_func_paths(sub_ses_df, sub_pass_QC_df, file_paths) if 'dwi' in modalities: - (file_paths, has_dti) = add_dwi_paths(sub_pass_QC_df, file_paths) + (file_paths, has_dti) = add_dwi_paths(sub_ses_df, sub_pass_QC_df, file_paths) + + sub_ses_df.to_csv('/home/feczk001/shared/projects/ABCC_DCM2BIDS/SUBMIT/abcd-dicom2bids/TEST/sub_ses_df.csv') + sub_pass_QC_df.to_csv('/home/feczk001/shared/projects/ABCC_DCM2BIDS/SUBMIT/abcd-dicom2bids/TEST/sub_pass_QC_df.csv') # TODO: log subject level information print(' t1=%s, t2=%s, sefm=%s, rsfmri=%s, mid=%s, sst=%s, nback=%s, has_dti=%s' % (has_t1, has_t2, has_sefm, has_rsfmri, has_mid, has_sst, has_nback, has_dti)) @@ -293,17 +297,22 @@ def add_func_paths(all_group, passed_QC_group, file_paths): return (file_paths, has_sefm, has_rsfmri, has_mid, has_sst, has_nback) -def add_dwi_paths(passed_QC_group, file_paths): +def add_dwi_paths(all_group, passed_QC_group, file_paths): DTI_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-DTI'] if DTI_df.shape[0] >= 1: # If a DTI exists then download all passing DTI fieldmaps - DTI_FM_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-Diffusion-FM'] - if DTI_FM_df.empty: - DTI_FM_AP_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-Diffusion-FM-AP'] - if DTI_FM_AP_df.empty: - return (file_paths, 0) - DTI_FM_PA_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-Diffusion-FM-PA'] - DTI_FM_df = pd.concat([DTI_FM_AP_df.tail(1), DTI_FM_PA_df.tail(1)], ignore_index=True) + DTI_FM_AP_df = all_group[all_group['image_description'] == 'ABCD-Diffusion-FM-AP'] + DTI_FM_PA_df = all_group[all_group['image_description'] == 'ABCD-Diffusion-FM-PA'] + DTI_FM_df = pd.DataFrame() + + if DTI_FM_AP_df.shape[0] != DTI_FM_PA_df.shape[0] or DTI_FM_AP_df.empty: + return (file_paths, 0) + else: + for i in range(0, DTI_FM_AP_df.shape[0]): + if DTI_FM_AP_df.iloc[i]['QC'] == 1.0 and DTI_FM_PA_df.iloc[i]['QC'] == 1.0: + DTI_FM_df = DTI_FM_df.append(DTI_FM_AP_df.iloc[i]) + DTI_FM_df = DTI_FM_df.append(DTI_FM_PA_df.iloc[i]) + if not DTI_FM_df.empty: for file_path in DTI_df['image_file']: file_paths += [file_path] From 966feae3f2bee37f16a85d787f948438839b4e78 Mon Sep 17 00:00:00 2001 From: LuciMoore Date: Tue, 30 Jul 2024 20:10:56 -0500 Subject: [PATCH 3/6] updated to create a reformatted fasttrack csv that doesn't filter out based on QC and instead filters based on QC in aws_downloader --- abcd2bids.py | 5 ++++- src/aws_downloader.py | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/abcd2bids.py b/abcd2bids.py index 6c289e7..0861628 100755 --- a/abcd2bids.py +++ b/abcd2bids.py @@ -573,7 +573,10 @@ def reformat_fastqc_spreadsheet(cli_args): print(all_qc_data.columns) # Select QC data that is usable (ftq_usable==1) and complete (ftq_complete==1) - qc_data = fix_split_col(all_qc_data.loc[(all_qc_data['ftq_usable'] == 1) & (all_qc_data['ftq_complete'] == 1)]) + #qc_data = fix_split_col(all_qc_data.loc[(all_qc_data['ftq_usable'] == 1) & (all_qc_data['ftq_complete'] == 1)]) + + # Don't filter by QC/complete - instead filter in aws_downloader.py + qc_data = fix_split_col(all_qc_data) def get_img_desc(row): """ diff --git a/src/aws_downloader.py b/src/aws_downloader.py index 1deac84..bac6fb7 100755 --- a/src/aws_downloader.py +++ b/src/aws_downloader.py @@ -139,7 +139,10 @@ def main(argv=sys.argv): subject_df = series_df[series_df['pGUID'] == pguid] for year in year_list: sub_ses_df = subject_df[subject_df['EventName'] == year] - sub_pass_QC_df = sub_ses_df[sub_ses_df['QC'] == 1.0] #changed this line back to be able to filter based on QC from fast track + #sub_pass_QC_df = sub_ses_df[sub_ses_df['QC'] == 1.0] + # change this to filter based on ftq_complete==1 as well as QC==1 in reformatted fasttrack (which is equivalent to ftq_usable in original fasttrack) + sub_pass_QC_df = sub_ses_df[(sub_ses_df['QC'] == 1.0) & (sub_ses_df['ftq_complete'] ==1)] + file_paths = [] ### Logging information # initialize logging variables @@ -165,9 +168,6 @@ def main(argv=sys.argv): (file_paths, has_sefm, has_rsfmri, has_mid, has_sst, has_nback) = add_func_paths(sub_ses_df, sub_pass_QC_df, file_paths) if 'dwi' in modalities: (file_paths, has_dti) = add_dwi_paths(sub_ses_df, sub_pass_QC_df, file_paths) - - sub_ses_df.to_csv('/home/feczk001/shared/projects/ABCC_DCM2BIDS/SUBMIT/abcd-dicom2bids/TEST/sub_ses_df.csv') - sub_pass_QC_df.to_csv('/home/feczk001/shared/projects/ABCC_DCM2BIDS/SUBMIT/abcd-dicom2bids/TEST/sub_pass_QC_df.csv') # TODO: log subject level information print(' t1=%s, t2=%s, sefm=%s, rsfmri=%s, mid=%s, sst=%s, nback=%s, has_dti=%s' % (has_t1, has_t2, has_sefm, has_rsfmri, has_mid, has_sst, has_nback, has_dti)) From 4c70e6cbfb24eb3f115696ed6d0e50103d9779ec Mon Sep 17 00:00:00 2001 From: LuciMoore Date: Fri, 2 Aug 2024 19:06:27 -0500 Subject: [PATCH 4/6] fixed functions that add func and dwi paths to re-incorporate grabbing fmaps that don't specify AP/PA --- src/aws_downloader.py | 54 +++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/src/aws_downloader.py b/src/aws_downloader.py index bac6fb7..1ad2daa 100755 --- a/src/aws_downloader.py +++ b/src/aws_downloader.py @@ -242,17 +242,23 @@ def add_anat_paths(passed_QC_group, file_paths): def add_func_paths(all_group, passed_QC_group, file_paths): ## Pair and download SEFMs first based on all fmaps available - FM_AP_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-AP'] - FM_PA_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-PA'] - FM_df = pd.DataFrame() + # First check if the fmap files are type 'ABCD-fMRI-FM' without AP/PA + FM_df = passed_QC_group[passed_QC_group['image_description'] == 'ABCD-fMRI-FM'] - if FM_AP_df.shape[0] != FM_PA_df.shape[0] or FM_AP_df.empty: - has_sefm = 0 # No SEFMs. Invalid subject - else: - for i in range(0, FM_AP_df.shape[0]): - if FM_AP_df.iloc[i]['QC'] == 1.0 and FM_PA_df.iloc[i]['QC'] == 1.0: - FM_df = FM_df.append(FM_AP_df.iloc[i]) - FM_df = FM_df.append(FM_PA_df.iloc[i]) + # If not, then populate with AP/PA files + if FM_df.empty: + FM_AP_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-AP'] + FM_PA_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-PA'] + FM_df = pd.DataFrame() + + if FM_AP_df.shape[0] != FM_PA_df.shape[0] or FM_AP_df.empty: + has_sefm = 0 # No SEFMs. Invalid subject + else: + for i in range(0, FM_AP_df.shape[0]): + if FM_AP_df.iloc[i]['QC'] == 1.0 and FM_PA_df.iloc[i]['QC'] == 1.0: + FM_df = FM_df.append(FM_AP_df.iloc[i]) + FM_df = FM_df.append(FM_PA_df.iloc[i]) + # If still empty, then return 0 if FM_df.empty: has_sefm = 0 # No SEFMs. Invalid subject else: @@ -296,22 +302,26 @@ def add_func_paths(all_group, passed_QC_group, file_paths): return (file_paths, has_sefm, has_rsfmri, has_mid, has_sst, has_nback) - def add_dwi_paths(all_group, passed_QC_group, file_paths): DTI_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-DTI'] if DTI_df.shape[0] >= 1: # If a DTI exists then download all passing DTI fieldmaps - DTI_FM_AP_df = all_group[all_group['image_description'] == 'ABCD-Diffusion-FM-AP'] - DTI_FM_PA_df = all_group[all_group['image_description'] == 'ABCD-Diffusion-FM-PA'] - DTI_FM_df = pd.DataFrame() - - if DTI_FM_AP_df.shape[0] != DTI_FM_PA_df.shape[0] or DTI_FM_AP_df.empty: - return (file_paths, 0) - else: - for i in range(0, DTI_FM_AP_df.shape[0]): - if DTI_FM_AP_df.iloc[i]['QC'] == 1.0 and DTI_FM_PA_df.iloc[i]['QC'] == 1.0: - DTI_FM_df = DTI_FM_df.append(DTI_FM_AP_df.iloc[i]) - DTI_FM_df = DTI_FM_df.append(DTI_FM_PA_df.iloc[i]) + # First search to see if subject has FM fieldmaps without AP/PA in image_description + DTI_FM_df = passed_QC_group.loc[passed_QC_group['image_description'] == 'ABCD-Diffusion-FM'] + + # If not present, next search and sort AP/PA fmaps + if DTI_FM_df.empty: + DTI_FM_AP_df = all_group[all_group['image_description'] == 'ABCD-Diffusion-FM-AP'] + DTI_FM_PA_df = all_group[all_group['image_description'] == 'ABCD-Diffusion-FM-PA'] + DTI_FM_df = pd.DataFrame() + + if DTI_FM_AP_df.shape[0] != DTI_FM_PA_df.shape[0] or DTI_FM_AP_df.empty: + return (file_paths, 0) + else: + for i in range(0, DTI_FM_AP_df.shape[0]): + if DTI_FM_AP_df.iloc[i]['QC'] == 1.0 and DTI_FM_PA_df.iloc[i]['QC'] == 1.0: + DTI_FM_df = DTI_FM_df.append(DTI_FM_AP_df.iloc[i]) + DTI_FM_df = DTI_FM_df.append(DTI_FM_PA_df.iloc[i]) if not DTI_FM_df.empty: for file_path in DTI_df['image_file']: From 6f4a863e098eae14b9b788ac40cd2113bf7a5efd Mon Sep 17 00:00:00 2001 From: LuciMoore Date: Tue, 13 Aug 2024 20:28:03 -0500 Subject: [PATCH 5/6] updated logic in aws_downloader.py for subjects with different numbers of AP and PA func fmaps --- src/aws_downloader.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/aws_downloader.py b/src/aws_downloader.py index 1ad2daa..e294c78 100755 --- a/src/aws_downloader.py +++ b/src/aws_downloader.py @@ -251,10 +251,18 @@ def add_func_paths(all_group, passed_QC_group, file_paths): FM_PA_df = all_group[all_group['image_description'] == 'ABCD-fMRI-FM-PA'] FM_df = pd.DataFrame() - if FM_AP_df.shape[0] != FM_PA_df.shape[0] or FM_AP_df.empty: + #if FM_AP_df.shape[0] != FM_PA_df.shape[0] or FM_AP_df.empty: + if FM_AP_df.empty: has_sefm = 0 # No SEFMs. Invalid subject else: - for i in range(0, FM_AP_df.shape[0]): + # If there are a different number of AP and PA fmaps, then figure out which has fewer to use for upper_range value to iterate through + if FM_AP_df.shape[0] <= FM_PA_df.shape[0]: + upper_range=FM_AP_df.shape[0] + elif FM_AP_df.shape[0] > FM_PA_df.shape[0]: + upper_range=FM_PA_df.shape[0] + + #for i in range(0, FM_AP_df.shape[0]): + for i in range(0, upper_range): if FM_AP_df.iloc[i]['QC'] == 1.0 and FM_PA_df.iloc[i]['QC'] == 1.0: FM_df = FM_df.append(FM_AP_df.iloc[i]) FM_df = FM_df.append(FM_PA_df.iloc[i]) From 86fcd263488817ccf13eec36dc585af3a9ef2da6 Mon Sep 17 00:00:00 2001 From: LuciMoore Date: Sat, 31 Aug 2024 15:06:37 -0500 Subject: [PATCH 6/6] test --- .gitignore | 0 LICENSE | 0 README.md | 0 abcd_dcm2bids.conf | 0 data/.bidsignore | 0 data/CHANGES | 0 data/README | 0 data/dataset_description.json | 0 data/task-MID_bold.json | 0 data/task-SST_bold.json | 0 data/task-nback_bold.json | 0 data/task-rest_bold.json | 0 dataset_description.json | 0 raw/README.md | 0 spreadsheets/README.md | 0 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV25.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV26.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV25.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV26.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s1.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s2.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s1.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s2.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvals.txt | 0 src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvecs.txt | 0 src/README.md | 0 src/__init__.py | 0 src/bin/readme.txt | 0 src/nda_aws_token_generator.py | 0 src/requirements.txt | 0 temp/README.md | 0 31 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 abcd_dcm2bids.conf mode change 100644 => 100755 data/.bidsignore mode change 100644 => 100755 data/CHANGES mode change 100644 => 100755 data/README mode change 100644 => 100755 data/dataset_description.json mode change 100644 => 100755 data/task-MID_bold.json mode change 100644 => 100755 data/task-SST_bold.json mode change 100644 => 100755 data/task-nback_bold.json mode change 100644 => 100755 data/task-rest_bold.json mode change 100644 => 100755 dataset_description.json mode change 100644 => 100755 raw/README.md mode change 100644 => 100755 spreadsheets/README.md mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV25.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV26.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV25.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV26.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s1.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s2.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s1.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s2.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvals.txt mode change 100644 => 100755 src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvecs.txt mode change 100644 => 100755 src/README.md mode change 100644 => 100755 src/__init__.py mode change 100644 => 100755 src/bin/readme.txt mode change 100644 => 100755 src/nda_aws_token_generator.py mode change 100644 => 100755 src/requirements.txt mode change 100644 => 100755 temp/README.md diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/abcd_dcm2bids.conf b/abcd_dcm2bids.conf old mode 100644 new mode 100755 diff --git a/data/.bidsignore b/data/.bidsignore old mode 100644 new mode 100755 diff --git a/data/CHANGES b/data/CHANGES old mode 100644 new mode 100755 diff --git a/data/README b/data/README old mode 100644 new mode 100755 diff --git a/data/dataset_description.json b/data/dataset_description.json old mode 100644 new mode 100755 diff --git a/data/task-MID_bold.json b/data/task-MID_bold.json old mode 100644 new mode 100755 diff --git a/data/task-SST_bold.json b/data/task-SST_bold.json old mode 100644 new mode 100755 diff --git a/data/task-nback_bold.json b/data/task-nback_bold.json old mode 100644 new mode 100755 diff --git a/data/task-rest_bold.json b/data/task-rest_bold.json old mode 100644 new mode 100755 diff --git a/dataset_description.json b/dataset_description.json old mode 100644 new mode 100755 diff --git a/raw/README.md b/raw/README.md old mode 100644 new mode 100755 diff --git a/spreadsheets/README.md b/spreadsheets/README.md old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV25.txt b/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV25.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV26.txt b/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvals_DV26.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV25.txt b/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV25.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV26.txt b/src/ABCD_Release_2.0_Diffusion_Tables/GE_bvecs_DV26.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s1.txt b/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s1.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s2.txt b/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvals_s2.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s1.txt b/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s1.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s2.txt b/src/ABCD_Release_2.0_Diffusion_Tables/Philips_bvecs_s2.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvals.txt b/src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvals.txt old mode 100644 new mode 100755 diff --git a/src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvecs.txt b/src/ABCD_Release_2.0_Diffusion_Tables/Siemens_bvecs.txt old mode 100644 new mode 100755 diff --git a/src/README.md b/src/README.md old mode 100644 new mode 100755 diff --git a/src/__init__.py b/src/__init__.py old mode 100644 new mode 100755 diff --git a/src/bin/readme.txt b/src/bin/readme.txt old mode 100644 new mode 100755 diff --git a/src/nda_aws_token_generator.py b/src/nda_aws_token_generator.py old mode 100644 new mode 100755 diff --git a/src/requirements.txt b/src/requirements.txt old mode 100644 new mode 100755 diff --git a/temp/README.md b/temp/README.md old mode 100644 new mode 100755