# -*-coding:utf-8-*-
import glob
import os
import shutil
from tqdm import tqdm
import monai
from monai.transforms import LoadImage, Compose, LoadImaged, Orientationd, EnsureChannelFirstd, SaveImage, AddChanneld, \
AddChannel
data_dir = r'D:\Caiyimin\Dicom_data\Oral_image_root\KaWaAndSenTianOrg'
nii_save_path = r'D:\Caiyimin\Dicom_data\Oral_image_root\NiiFormat'
def has_dcm_files(path):
for _, _, files in os.walk(path):
if len(files) == 0:
return False
else:
return True
transform = Compose(
LoadImaged(keys=['image'], meta_keys='info'),
Orientationd(keys=["image"], axcodes='LPS'),
)
def convert2nii():
for root, dirs, _ in os.walk(data_dir):
for (i, dir) in enumerate(tqdm(dirs)):
abs_dir = os.path.join(root, dir)
key = {"image": abs_dir}
info = transform(key)
img = info['image']
img = AddChannel()(img)
saver = SaveImage(output_dir=nii_save_path, mode='bilinear', output_postfix='')
meta_data = info['info']
saver(img, meta_data=meta_data)
# 将保存文件移到上一个目录中
nii_files = glob.glob(os.path.join(nii_save_path, dir, '*.nii.gz'))
for file in nii_files:
file_name = file.split('\\')[-1]
shutil.move(file, os.path.join(nii_save_path, file_name))
shutil.rmtree(os.path.join(nii_save_path, dir))
convert2nii()
dicom格式转成nii.gz文件
于 2022-06-18 23:45:38 首次发布