我有一些 MRI 数据,我试图将处理后的 3D 图像作为具有相应标签的数组放入数据帧。然后将其保存在 CSV 文件中。我将每个 3D 图像制作成 16 16 16 阵列。
但是,保存 CSV 文件后,数组似乎并没有完全写入文件中。只有一部分得救了。
我不确定为什么...
这是我处理 3D 图像的代码:
trainDWI_images=[]
trainDWI_data=[]
for ptname in Train_uniqueID:
if Train_df[(Train_df.ProxID==ptname)&(Train_df.Name =='ep2d_diff_tra_DYNDIST0')].index.tolist() !=[]:
index=Train_df[(Train_df.ProxID==ptname)&(Train_df.Name =='ep2d_diff_tra_DYNDIST0')].index.tolist()
elif Train_df[(Train_df.ProxID==ptname)&(Train_df.Name == 'ep2d_diff_tra_DYNDIST_MIX0')].index.tolist() !=[]:
index=Train_df[(Train_df.ProxID==ptname)&(Train_df.Name =='ep2d_diff_tra_DYNDIST_MIX0')].index.tolist()
ijk_value=Train_df.ijk[index] #lesion location
fid_value=Train_df.fid[index].values #label
for i, ijk in enumerate(ijk_value.values):
seed=[int(x) for x in ijk.split()]
finding=fid_value[i]
for filename in Train_total_DWI:
if ptname in filename:
i=Train_total_DWI.index(filename)
niipath=os.path.join(train_dir,filename)
img_nii=nib.load(niipath)
fourdimage=np.asanyarray(img_nii.dataobj)
image = fourdimage[:, :, :, 0]
img_arr=standardize(image)
extracted_traint2images=img_arr[(seed[0]-8):(seed[0]+8),(seed[1]-8):(seed[1]+8),(seed[2]-8):(seed[2]+8)]#expanding the sub volume from lesion
#print(extracted_traint2images.shape)
trainDWI_images.append(extracted_traint2images)
trainDWI_data.append({'Patient' : ptname , 'label' :finding,'images':extracted_traint2images , 'ijk':seed })
#T2_df=T2_dframe.({'Patient' : ptname , 'label' :fid_value,'images':extracted_t2images , 'ijk':seed } , ignore_index=True)
trainDWI_df = pd.DataFrame(trainDWI_data)
以下是我保存为 CSV 文件的代码:
outtrdwi = 'Packed_DWI_train.csv'
outdir = './dir'
if not os.path.exists(outdir):
os.mkdir(outdir)
fullname = os.path.join(outdir, outtrdwi)
trainDWI_df.to_csv(fullname, encoding='utf-8')
我注意到在我的 CSV 文件中,数组的某些部分未保存并被替换为“...”
像这样 :
[-0.32482308 -0.2481549 -0.2481549 ... -0.2481549 -0.13315264
-0.47815944]
我怎样才能解决这个问题?谢谢你。