Esempio n. 1
0
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))
Esempio n. 2
0
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))
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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))
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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)