tag 批量修改dicom_图片(jpg,png,tif等)批量转dicom(dcm)格式
时间: 2024-02-25 08:55:54 浏览: 162
你可以使用 Python 中的 pydicom 库来批量修改 DICOM 图片的 tag,以及将其他图片格式转换为 DICOM 格式。以下是一个示例代码:
```python
import os
import pydicom
from PIL import Image
# 设置输入输出文件夹路径
input_folder = 'input_folder/'
output_folder = 'output_folder/'
# 获取输入文件夹中的所有文件
files = os.listdir(input_folder)
# 循环处理每个文件
for file in files:
# 如果是 DICOM 文件,则修改 tag
if file.endswith('.dcm'):
# 读取 DICOM 文件
ds = pydicom.dcmread(os.path.join(input_folder, file))
# 修改 tag
ds.PatientName = 'New Patient Name'
ds.save_as(os.path.join(output_folder, file))
# 如果是其他图片格式,则转换为 DICOM 格式
elif file.endswith('.jpg') or file.endswith('.png') or file.endswith('.tif'):
# 读取图片
img = Image.open(os.path.join(input_folder, file))
# 将图片转换为 DICOM 格式
ds = pydicom.Dataset()
ds.file_meta = pydicom.Dataset()
ds.file_meta.TransferSyntaxUID = pydicom.uid.ImplicitVRLittleEndian
ds.PixelData = img.tobytes()
ds.Rows, ds.Columns = img.size
ds.save_as(os.path.join(output_folder, file.replace('.jpg','.dcm').replace('.png','.dcm').replace('.tif','.dcm')))
```
在上面的代码中,我们首先设置了输入文件夹和输出文件夹的路径,然后使用 os.listdir() 函数获取输入文件夹中的所有文件。接下来,我们使用一个循环来处理每个文件,如果是 DICOM 文件,则使用 pydicom 库读取并修改 tag,然后保存为新的 DICOM 文件;如果是其他图片格式,则使用 PIL 库将其转换为 DICOM 格式,然后保存为新的 DICOM 文件。
需要注意的是,DICOM 文件中包含了很多重要的医学信息,如患者姓名、性别、年龄、影像采集时间等,修改这些 tag 应该非常谨慎,确保不会影响到医学诊断结果。
阅读全文