ruby - 警告——DICOM : Decompressing pixel values has failed

标签 ruby jpeg dicom rmagick libjpeg

这是我在 Ruby 中的代码:

require 'RMagick'
require 'dicom'
include Magick
include DICOM

dcm = DObject.read("export1.dcm")
dcm_image = dcm.image;

dcm_image.normalize.write("export1.jpg")
exit

当我运行它时,

dcm_image = dcm.image 给我一个警告/错误:

WARN -- DICOM: Decompressing pixel values has failed (unsupported transfer syntax: '1.2.840.10008.1.2.4.70' - JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression)

我发现它可以很好地读取 DICOM。我可以提取患者信息。但我不知道如何将 DICOM 图像提取出来并将其制作为 jpg。

感谢您的帮助!

最佳答案

DICOM 文件中的图像是经过压缩的。它是无损 JPEG(1.2.840.10008.1.2.4.70 代表什么)。参见 here获取更多信息。

header在这里,可以被dicom gem读取,但是需要先转换图片。

您可以使用 dcmdjpeg首先在 export1.dcm 上:

dcmdjpeg export1.dcm export1_uncompressed.dcm

并使用 export1_uncompressed.dcm 运行您的脚本。

关于ruby - 警告——DICOM : Decompressing pixel values has failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41251628/

相关文章:

ruby - 创建的 CloudFormation 堆栈对 SDK 不可见

python - 将给定 URL 的 Jpeg 图像下载到 numpy 数组中

c# - 在 C# 中将 JPEG 转换为 TIFF 文件大小翻四倍

c++ - Libexif ,附加新的 exif 数据

ios - 如何在支持8位无符号整数的设备上合法显示DICOM 16无符号整数?

c++ - 如何获取在当前 RB 文件中运行的 Ruby 类的实例? (在 C++ 中嵌入 Ruby)

ruby - 在 GitLab CI 包构建中缓存 gem

javascript - Google Map API Marker 在 Ruby On Rails 中添加动态标签

image-processing - DICOM图像的窗口宽度和中心计算

python - GDCM python DICOM解压