import pydicom,re
import numpy as np
import SimpleITK as sitk
import nibabel as nib
import os
base_image = 'E:/cardic_data/training/'
dicom_path = 'E:/cardic_dicom_data'
for dirpath, dirnames, files in os.walk(base_image):
for name in dirnames:
image_path = os.path.join(base_image, name)
path = os.path.join(dicom_path,name)
if not os.path.exists(path):
os.mkdir(path)
#print(image_path)
for patient in files:
match = re.search('patient(\d{03})',image_path)
patient_id = match.group(1)
img_name = 'patient{:s}_4d.nii.gz'.format(patient_id)
img_full_path = os.path.join(img_name,image_path)
print(img_full_path)
itk_img = sitk.ReadImage(img_full_path+'/patient{:s}_4d.nii.gz'.format(patient_id))
img = sitk.GetArrayFromImage(itk_img)
img = np.transpose(img, (1, 0, 2, 3))
print(img.shape)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
out = sitk.GetImageFromArray(img[i,j,:,:].astype('int16'))
sitk.WriteImage(out,path+'/patient{}_4d_{}_{}.dcm'.format(patient_id,i, j))
#match = re.search('patient(\d{03})',base_image)
#patient_id = match.group(1)
#print(patient_id)
'''''
#itk_img = sitk.ReadImage('E:/cardic_data/training/patient003/patient003_4d.nii.gz')
#data_keys = os.path.join('E:/cardic_data/training/patient003','data_keys.txt')
#itk_img = sitk.ReadImage('E:/DICOM_data_cardic/patient001_4d_0_1.dcm')
img = sitk.GetArrayFromImage(itk_img)
img =np.transpose(img,(1,0,2,3))
keys = itk_img.GetMetaDataKeys()
#with open(data_keys, 'w') as f:
print(keys)
print(keys)
for key in keys:
print (key,':', itk_img.GetMetaData(key))
print("img shape:",img.shape)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
out = sitk.GetImageFromArray(img[i,j,:,:])
#keys = out.LoadPrivateTagsOn()
#for key in keys:
# print(key, ':', itk_img.GetMetaData(key))
#print(keys)
sitk.WriteImage(out, 'E:/DICOM_data_cardic/patient003/patient003_4d_{}_{}.dcm'.format(i,j))
#print(img[i,j,:,:].shape)
'''''
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
code.rar (4个子文件)
code
SetMDtodcm.py 2KB
niitodicom.py 2KB
Nii2Dicom.py 1KB
RefinedMetadata.py 2KB
共 4 条
- 1
hear~
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0