python3.6及其以上
pip install pydciom
pip install PIL
pip install matplotlib
import pydicom
import numpy as np
from PIL import Image
from matplotlib import pyplot
ds = pydicom.dcmread(file,*force=True*)
**ds.file_meta.TransferSyntaxUID =pydicom.uid.ImplicitVRLittleEndian**
data = np.array(ds.pixel_array)
data_img = Image.fromarray(ds.pixel_array)
data_img_rotated = data_img.rotate(angle=45,resample=Image.BICUBIC,fillcolor=data_img.getpixel((0,0)))
data_rotated = np.array(data_img_rotated)
pyplot.imshow(ds.pixel_array,cmap=pyplot.cm.bone)
pyplot.show()
改变bone的值,显示灰度
不添加force=True会报如下错误
force=True
pydicom.errors.InvalidDicomError: File is missing DICOM File Meta Information header or the 'DICM' prefix is missing from the header. Use force=True to force reading.
不加ds.file_meta.TransferSyntaxUID = pydicom.uid.ImplicitVRLittleEndian会报AttributeError: ‘FileMetaDataset’ object has no attribute ‘TransferSyntaxUID’ 错误
ds.file_meta.TransferSyntaxUID = pydicom.uid.ImplicitVRLittleEndian
AttributeError: 'FileMetaDataset' object has no attribute 'TransferSyntaxUID'