【发布时间】:2019-07-03 14:31:39
【问题描述】:
我有一个 12 位的 2D DICOM 图像,我需要对 Bits-Store 进行一些修改以将其转换为 8 位。为此,我修改了 pixel_array。要将这个新修改的 pixel_array 保存为 DICOM 图像,我需要与原始图像相同的元数据,以便生成的 DICOM 完全可读。
我做了以下但最终的 DICOM 不可读。谁能帮我?
'''
import pydicom
ds = pydicom.dcmread('dicom_12bit.dcm')
high = 255
low = 0
cmin = ds.pixel_array.min()
cmax = ds.pixel_array.max()
cscale = cmax - cmin
scale = float(high - low) / cscale
dcm_ds.pixel_array = (dcm_ds.pixel_array - cmin) * scale + low
dcm_ds.pixel_array = (dcm_ds.pixel_array.clip(low, high) + 0.5).astype(np.uint8)
dcm_ds.PixelData = dcm_ds.pixel_array.tobytes()
dcm_ds.save_as("new_8bit_dicom.dcm")
在新的 DICOM 文件中存储的位现在应该是 8 位。但是没有正确保存。
【问题讨论】:
-
您有没有我们可以测试的示例(当然是患者身份不明)
.dcm文件? -
怎么看不懂?您从 dicom 查看器收到错误消息?或者可能是 pydicom 本身?
-
实际上,当我使用一些 DICOM 查看器对其进行可视化时,DICOM 图像是重复的。