def concatenate_runs(subj_num): """ Concatenates data from all runs for a particular subject and saves that data into a designated file. If file already exists, uses that cached file instead. Parameters ---------- subj_num : int Returns ------- None """ npy_file_name = dp.get_concatenated_path(subj_num) if not exists(npy_file_name) or not USE_CACHED_DATA: run_data = [] for j in range(NUM_RUNS): img = nib.load(dp.get_raw_path(subj_num, j + 1)) data = img.get_data() if j == 0: run_data.append(data[..., :-4]) elif j >= 1 and j <= NUM_RUNS - 2: run_data.append(data[..., 4:-4]) else: run_data.append(data[..., 4:]) concatenated_run_data = np.concatenate(run_data, axis=3) np.save(npy_file_name, concatenated_run_data) print("Saved {0}".format(npy_file_name)) else: print("Using cached version of {0}".format(npy_file_name))
def concatenate_runs(subj_num): """ Concatenates data from all runs for a particular subject and saves that data into a designated file. If file already exists, uses that cached file instead. Parameters ---------- subj_num : int Returns ------- None """ npy_file_name = dp.get_concatenated_path(subj_num) if not exists(npy_file_name) or not USE_CACHED_DATA: run_data = [] for j in range(NUM_RUNS): img = nib.load(dp.get_raw_path(subj_num, j + 1)) data = img.get_data() if j == 0: run_data.append(data[..., :-4]) elif j >= 1 and j <= NUM_RUNS - 2: run_data.append(data[..., 4:-4]) else: run_data.append(data[..., 4:]) concatenated_run_data = np.concatenate(run_data, axis=3) np.save(npy_file_name, concatenated_run_data) print('Saved {0}'.format(npy_file_name)) else: print('Using cached version of {0}'.format(npy_file_name))
def get_affine(): affine_path = '{0}/data/affine.npy'.format(REPO_HOME_PATH) if not exists(affine_path): subj_num, run_num = 1, 1 img = nib.load(dp.get_raw_path(subj_num, run_num)) affine = img.get_affine() np.save(affine_path, affine) return affine return np.load(affine_path)
def test_get_raw_path(): paths = [dp.get_raw_path(subject, RUN_NUM) for subject in SUBJECTS] assert paths[0] == '{0}/data/raw/sub001/task001_run001/bold_dico_dico_rcds_nl.nii'.format( REPO_HOME_PATH) assert paths[1] == '{0}/data/raw/sub002/task001_run001/bold_dico_dico_rcds_nl.nii'.format( REPO_HOME_PATH) assert paths[2] == '{0}/data/raw/sub003/task001_run001/bold_dico_dico_rcds_nl.nii'.format( REPO_HOME_PATH) assert paths[3] == '{0}/data/raw/sub004/task001_run001/bold_dico_dico_rcds_nl.nii'.format( REPO_HOME_PATH) assert paths[4] == '{0}/data/raw/sub005/task001_run001/bold_dico_dico_rcds_nl.nii'.format( REPO_HOME_PATH)
def concatenate_runs(subj_num): npy_file_name = dp.get_concatenated_path(subj_num) if not exists(npy_file_name) or not USE_CACHED_DATA: run_data = [] for j in range(NUM_RUNS): img = nib.load(dp.get_raw_path(subj_num, j + 1)) data = img.get_data() if j == 0: run_data.append(data[..., :-4]) elif j >= 1 and j <= NUM_RUNS - 2: run_data.append(data[..., 4:-4]) else: run_data.append(data[..., 4:]) concatenated_run_data = np.concatenate(run_data, axis=3) np.save(npy_file_name, concatenated_run_data) print('Saved {0}'.format(npy_file_name)) else: print('Using cached version of {0}'.format(npy_file_name))
def get_affine(): """ Retrieves the absolute path to the affine.npy file and loads the data from that file Parameters ---------- None Returns ------- affine_data : array """ affine_path = "{0}/data/affine.npy".format(REPO_HOME_PATH) if not exists(affine_path): subj_num, run_num = 1, 1 img = nib.load(dp.get_raw_path(subj_num, run_num)) affine = img.get_affine() np.save(affine_path, affine) return affine return np.load(affine_path)
def get_affine(): """ Retrieves the absolute path to the affine.npy file and loads the data from that file Parameters ---------- None Returns ------- affine_data : array """ affine_path = '{0}/data/affine.npy'.format(REPO_HOME_PATH) if not exists(affine_path): subj_num, run_num = 1, 1 img = nib.load(dp.get_raw_path(subj_num, run_num)) affine = img.get_affine() np.save(affine_path, affine) return affine return np.load(affine_path)
def test_get_raw_path(): paths = [dp.get_raw_path(subject, RUN_NUM) for subject in SUBJECTS] assert paths[0] == '{0}/data/raw/sub1_run1_raw.nii'.format(REPO_HOME_PATH) assert paths[1] == '{0}/data/raw/sub2_run1_raw.nii'.format(REPO_HOME_PATH)
def test_get_raw_path(): paths = [dp.get_raw_path(subject, RUN_NUM) for subject in SUBJECTS] assert paths[0] == '{0}/data/raw/sub1_run1_raw.nii'.format( REPO_HOME_PATH) assert paths[1] == '{0}/data/raw/sub2_run1_raw.nii'.format( REPO_HOME_PATH)