gpt4 book ai didi

python - 使用 python 脚本将 Jpg 图像转换为 DCM 图像

转载 作者:行者123 更新时间:2023-12-05 02:16:34 24 4
gpt4 key购买 nike

JPEG 和 PNG 如何转换为 dicom 可读图像?网上好像没有这方面的信息。我看过关于将 dicom 图像转换为 JPEG 的帖子,但没有看到相反的帖子。我尝试了下面的代码,但是我得到的图像(dcm)没有打开-

import os
import tempfile
import datetime

import pydicom
from pydicom.dataset import Dataset, FileDataset

# Create some temporary filenames
suffix = '.dcm'
filename_little_endian ='bb.dcm'
filename_big_endian = 'testr.dcm'

print("Setting file meta information...")
# Populate required values for file meta information
file_meta = Dataset()
file_meta.MediaStorageSOPClassUID = "1.2.840.10008.5.1.4.1.1.7"
file_meta.MediaStorageSOPInstanceUID = "1.2.3"
file_meta.ImplementationClassUID = "1.2.3.4"

print("Setting dataset values...")
# Create the FileDataset instance (initially no data elements, but file_meta
# supplied)
ds = FileDataset(filename_little_endian, {},
file_meta=file_meta, preamble=b"\0" * 128)

# Add the data elements -- not trying to set all required here. Check DICOM
# standard
ds.PatientName = "Test^Firstname"
ds.PatientID = "123456"

# Set the transfer syntax
ds.is_little_endian = True
ds.is_implicit_VR = True

# Set creation date/time
dt = datetime.datetime.now()
ds.ContentDate = dt.strftime('%Y%m%d')
timeStr = dt.strftime('%H%M%S.%f') # long format with micro seconds
ds.ContentTime = timeStr

print("Writing test file", filename_little_endian)
ds.save_as(filename_little_endian)
print("File saved.")

# Write as a different transfer syntax XXX shouldn't need this but pydicom
# 0.9.5 bug not recognizing transfer syntax
ds.file_meta.TransferSyntaxUID = pydicom.uid.ExplicitVRBigEndian
ds.is_little_endian = False
ds.is_implicit_VR = False

print("Writing test file as Big Endian Explicit VR", filename_big_endian)
ds.save_as(filename_big_endian)

# reopen the data just for checking
for filename in (filename_little_endian, filename_big_endian):
print('Load file {} ...'.format(filename))
ds = pydicom.dcmread(filename)
print(ds)

请告诉我哪里错了?

最佳答案

我不确定是否有任何 python 包可以将 jpg/png 图像转换为 Dicom 文件。有几个系统包可以进行转换,例如 img2dcm、gdcmimg。

使用系统包管理器安装所需的系统包。

# linux
$ sudo apt install -y dcmtk

# mac
$ brew install dcmtk

安装后,您可以使用此命令从 shell 将其从 jpg 转换为 Dicom。

$ img2dcm test.jpg test.dcm

然后从您的 python 脚本调用命令。

import os

command = 'img2dcm test.jpg test.dcm'
os.system(command)

这会将 jpg 文件转换为 Dicom 文件。

关于python - 使用 python 脚本将 Jpg 图像转换为 DCM 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49588440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com