使用python 批量将nii文件转化成dcm文件
时间: 2024-10-25 07:17:16 浏览: 25
在Python中,可以使用Nipype库来批量地将NIFTI (Neuroimaging Informatics Technology Initiative) 格式的脑部扫描图像转换为DICOM (Digital Imaging and Communications in Medicine) 格式。下面是一个简化版的示例,展示了如何编写一个函数来遍历指定目录下的所有NIFTI文件,并使用Nipype的`CopyFile`节点来进行转换:
```python
import os
from nipype.interfaces import io as nio
def batch_convert_nifti_to_dcm(input_folder, output_folder):
# 初始化CopyFile接口
copy_nii = nio.CopyFile()
# 设置输出文件名格式
def get_output_filename(filename):
return os.path.splitext(filename)[0] + ".dcm"
# 遍历输入文件夹
for filename in os.listdir(input_folder):
if filename.endswith(".nii") or filename.endswith(".nii.gz"):
# 构建输入和输出文件路径
input_file_path = os.path.join(input_folder, filename)
output_file_path = os.path.join(output_folder, get_output_filename(filename))
# 将NIFTI文件转换为DICOM
copy_nii.inputs.in_file = input_file_path
copy_nii.inputs.out_file = output_file_path
copy_nii.run() # 执行转换
print(f"所有NIFTI文件已转换为DICOM并保存在{output_folder}.")
# 调用函数,传入输入和输出目录
input_folder = "path/to/input/nii_files"
output_folder = "path/to/output/dicom_files"
batch_convert_nifti_to_dcm(input_folder, output_folder)
```
这个脚本会递归检查输入文件夹及其子目录中的NIFTI文件,对每个找到的文件执行转换,并把结果保存到指定的输出目录下。
阅读全文