File size: 2,788 Bytes
46a8d8a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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])