Мне нужно конвертировать некоторые файлы, которые по умолчанию приходят как .dcm
в .png
, я нашел несколько примеров кода для достижения этой цели, но конечные результаты слишком яркие. Кто-нибудь может взглянуть на это, пожалуйста?
def convert_to_png(file):
ds = pydicom.dcmread(file)
shape = ds.pixel_array.shape
# Convert to float to avoid overflow or underflow losses.
image_2d = ds.pixel_array.astype(float)
# Rescaling grey scale between 0-255
image_2d_scaled = (np.maximum(image_2d,0) / image_2d.max()) * 255.0
# Convert to uint
image_2d_scaled = np.uint8(image_2d_scaled)
# Write the PNG file
with open(f'{file.strip(".dcm")}.png', 'wb') as png_file:
w = png.Writer(shape[1], shape[0], greyscale=True)
w.write(png_file, image_2d_scaled)
Я настроил код, но, похоже, ничего не работает.
Вот так выглядит реальная вещь как дихома, а справа - результат выполнения этого кода ![enter image description here](https://i.stack.imgur.com/Gh5lD.png)