Я хочу преобразовать мои 2D-изображения DICOM в. * PNG-изображение, используя pydicom.Проблема в том, что для некоторых изображений DICOM pixel_array
недоступен, и я получил ошибку " NotImplementedError (e.strerror) ".Pixel Data
доступно.Но я не знаю, как извлечь numpy array
из такого изображения DICOM.Как я могу получить эту информацию?Или в другой форме, есть ли другой способ загрузить файл DICOM в numpy array
без использования pixel_array
?
(К сожалению, я не могу поместить файл DICOM здесь).
import pydicom
import numpy as np
import cv2
inputdir = '\data'
outdir = '\C:...'
high = 255
low = 0
ds = pydicom.dcmread(inputdir)
cmin = ds.pixel_array.min()
cmax = ds.pixel_array.max()
cscale = cmax - cmin
scale = float(high - low) / cscale
new_array = (ds.pixel_array - cmin) * scale + low
new_array = (new_array.clip(low, high) + 0.5).astype(np.uint8)
cv2.imwrite(outdir + '/' + f.replace('.dcm', '.png'), new_array)