| import os |
| import sys |
| import numpy as np |
| import h5py |
| import scipy.io as spio |
| import nibabel as nib |
|
|
| import argparse |
| parser = argparse.ArgumentParser(description='Argument Parser') |
| parser.add_argument("-sub", "--sub",help="Subject Number",default=1) |
| args = parser.parse_args() |
| sub=int(args.sub) |
| assert sub in [1,2,5,7] |
|
|
|
|
| roi_dir = 'data/nsddata/ppdata/subj{:02d}/func1pt8mm/roi/'.format(sub) |
| betas_dir = 'data/nsddata_betas/ppdata/subj{:02d}/func1pt8mm/betas_fithrf_GLMdenoise_RR/'.format(sub) |
| res_roi_dir = 'data/processed_data/subj{:02d}/roi/'.format(sub) |
| if not os.path.exists(res_roi_dir): |
| os.makedirs(res_roi_dir) |
|
|
| nsdgeneral_mask_filename = 'nsdgeneral.nii.gz' |
| nsdgeneral_mask = nib.load(roi_dir+nsdgeneral_mask_filename).get_fdata() |
| nsdgeneral_mask[nsdgeneral_mask<0] = 0 |
| num_voxel = nsdgeneral_mask[nsdgeneral_mask>0].shape[0] |
| print(f'NSD General : {num_voxel}') |
|
|
|
|
| mask_files = [ |
| 'floc-faces.nii.gz', |
| 'floc-words.nii.gz', |
| 'floc-places.nii.gz', |
| 'floc-bodies.nii.gz' |
| ] |
|
|
|
|
| |
| for mfile in mask_files: |
| roi_mask = nib.load(roi_dir+mfile).get_fdata() |
| np.save('data/processed_data/subj{:02d}/roi/{}.npy'.format(sub,mfile[:-7]), roi_mask[nsdgeneral_mask>0]) |
| |
|
|
| roi_mask = nib.load(roi_dir+mask_files[0]).get_fdata() |
| v1 = np.zeros_like(nsdgeneral_mask) |
| v2 = np.zeros_like(nsdgeneral_mask) |
| v3 = np.zeros_like(nsdgeneral_mask) |
| v4 = np.zeros_like(nsdgeneral_mask) |
|
|
| v1[roi_mask==1] = 1 |
| v1[roi_mask==2] = 1 |
| v2[roi_mask==3] = 1 |
| v2[roi_mask==4] = 1 |
| v3[roi_mask==5] = 1 |
| v3[roi_mask==6] = 1 |
| v4[roi_mask==7] = 1 |
|
|
| np.save('data/processed_data/subj{:02d}/roi/V1.npy'.format(sub), v1[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/V2.npy'.format(sub), v2[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/V3.npy'.format(sub), v3[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/V4.npy'.format(sub), v4[nsdgeneral_mask>0]) |
|
|
|
|
| roi_mask = nib.load(roi_dir+"prf-eccrois.nii.gz").get_fdata() |
| ecc05 = np.zeros_like(nsdgeneral_mask) |
| ecc10 = np.zeros_like(nsdgeneral_mask) |
| ecc20 = np.zeros_like(nsdgeneral_mask) |
| ecc40 = np.zeros_like(nsdgeneral_mask) |
| ecc40p = np.zeros_like(nsdgeneral_mask) |
|
|
| ecc05[roi_mask==1] = 1 |
| ecc10[roi_mask==2] = 1 |
| ecc20[roi_mask==3] = 1 |
| ecc40[roi_mask==4] = 1 |
| ecc40p[roi_mask==5] = 1 |
|
|
| np.save('data/processed_data/subj{:02d}/roi/ecc05.npy'.format(sub), ecc05[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/ecc10.npy'.format(sub), ecc10[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/ecc20.npy'.format(sub), ecc20[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/ecc40.npy'.format(sub), ecc40[nsdgeneral_mask>0]) |
| np.save('data/processed_data/subj{:02d}/roi/ecc40p.npy'.format(sub), ecc40p[nsdgeneral_mask>0]) |
|
|
|
|