我正在使用pydicom更改dicom标头。 PatientName包含韩语,因此我将PatientName修改为英语。 之后,尝试保存时将输出ISO_IR_149错误。 我在charset.py中查找了与ISO_IR_149相关的部分,但无法解决此问题。 我们如何解决这个问题? 谢谢。
"MY_LIBS": "/path/to/libs"
错误消息如下。
import pydicom
import os
import tempfile
import datetime
from pydicom.dataset import Dataset, FileDataset
suffix = '.dcm'
filename_little_endian = tempfile.NamedTemporaryFile(suffix=suffix).name
filename_big_endian = tempfile.NamedTemporaryFile(suffix=suffix).name
#print(ds.PatientSex)
ds = pydicom.filereader.dcmread("003.dcm")
ds.PatientName = "Patient1"
print(ds.PatientName)
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)
# remove the created file
print('Remove file {} ...'.format(filename))
os.remove(filename)
答案 0 :(得分:0)
答案很简单,但可能不令人满意:DICOM不直接支持ISO_IR 149。它确实支持使用朝鲜语代码扩展技术的字符集。 DICOM中朝鲜语字符的定义术语是:“ ISO 2022 IR 149”。也许您还可以使用UTF-8(ISO_IR 192)?