将DICOM转换为TIFF

3
我刚学习Python,如果我的信息不正确,请谅解。我正在尝试遍历目录并将其中的所有DICOM文件转换为TIFF文件。我已经让搜索功能正常工作,但我很难将图像保存为TIFF格式。我正在使用pydicom库读取DICOM并操纵标头信息。此外,我尝试使用pydicom中的save_as函数保存为TIFF格式,但我更愿意使用PIL中的save函数来正确设置TIFF的压缩。我认为问题在于我无法/不知道如何提取DICOM中的实际图像数据并将其放入新图像中。任何帮助都将不胜感激...干杯! Python 2.7 PIL 1.1.7 Pydicom 0.9.6
2个回答

4

我之前在网上找到了一个与此相同的问题的答案,虽然我不记得是哪个网站了,但是当我将其应用于我的代码时,我在这里分享给其他人:

 import pylab
 import dicom
 ImageFile=dicom.read_file(<SourceFilePath>) #Path to "*.dcm" file
 pylab.imshow(ImageFile.pixel_array,cmap=pylab.cm.bone) #to view image

如果您想保存图像,则可以使用以下方法:

pylab.imsave('<DestinationFilePath>',ImageFile.pixel_array,cmap=pylab.cm.bone)

imsave默认将以.png格式保存图像,但如果支持,您可以在imsave()中指定所需的格式。

希望这对您有用。


0
如果您知道如何使用PIL将图像数据保存为.tiff,那么这个例子应该可以帮助您从pydicom传递图像数据到PIL(在这里的评论中还有更多信息)。

太好了...我使用了frombuffer命令,它允许我将Dicom像素数据保存为tiff格式。现在,似乎所有像素强度都被反转了。我使用的是“I;16”模式而不是“L”。有没有办法保持强度不变? - Masrawy
@Masrawy 很抱歉,我现在(至少)无法帮助你。 - Misha Akovantsev
感谢您的帮助,至少让我朝着正确的方向开始了。干杯。 - Masrawy
2
这是我用来将DICOM保存为TIFF格式的代码:import dicom
import Image meta=dicom.read_file("dicomimage.dcm")
TT=Image.frombuffer("L",imSize,meta.PixelData,"raw","",0,1)
TT.save("testOUTPUT.tiff","TIFF",compression="none")
- Masrawy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接