微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在没有图像偏移的情况下在 pydicom 中读取然后写入多帧 DICOM 文件?

如何解决如何在没有图像偏移的情况下在 pydicom 中读取然后写入多帧 DICOM 文件?

我用 pydicom 读取了一个多帧 DICOM 文件,然后将其写入一个文件。但是,当我打开 DICOM 文件时,图像有偏移/偏移。

ds = pydicom.dcmread('./Multiframe/0020.dcm')
arr  = ds.pixel_array
ds.PixelData = encapsulate([arr[0].tobytes(),arr[1].tobytes(),arr[2].tobytes(),arr[3].tobytes(),arr[4].tobytes(),arr[5].tobytes(),arr[6].tobytes(),arr[7].tobytes(),arr[8].tobytes(),arr[9].tobytes(),arr[10].tobytes()])

ds.save_as('new.dcm',write_like_original=False)

代码有什么问题?如果我写一个简单的图像(不是多帧),它就可以工作,问题在于封装。

原文:

the original image,an RGB ultrasound scan,presented on a viewer

之后:

the program's output,with a slight offset,presented by the same viewer

解决方法

Encapsulation of Pixel Data(单帧和多帧)仅对于压缩传输语法(例如 JPEG 或 RLE Lossless)是必需的。如果您有未压缩的语法,例如 Explicit VR Little Endian,则不需要封装:

temp1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。