使用 DCMTK-Toolkit 时如何修复“无法将数据集从‘JPEG Baseline’传输语法转换为‘Little Endian Explicit’”?

问题描述 投票:0回答:2

我正在尝试使用 DCMTK-Toolboxstorescu 将图像作为 DICOM 文件((0002,0002)媒体存储 SOP 类 UID

1.2.840.10008.5.1.4.1.1.7
--> 辅助捕获图像存储)发送到 ORTHANC 测试服务器。因此,我使用 DCMTK 函数“img2dcm”将图像转换为 Delphi 中的 DICOM 文件。该图像似乎已正确转换为 DICOM 文件,因为“MicroDicom DICOM Viewer”显示了带有所有相关标签的正确图像。 我在 CMD 中收到的错误消息如下:

I: determining input files ...
I: checking input files ...
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: Sending file: C:\Delphi5\Projects\Test_DICOM\Test_DICOM_IMG.dcm
I: Converting transfer syntax: JPEG Baseline -> Little Endian Explicit
I: Sending Store Request (MsgID 1, SC)
XMIT: W: DIMSE Warning: (MyAETitle,ORTHANC): sendMessage: unable to convert dataset from 'JPEG Baseline' transfer syntax to 'Little Endian Explicit'
E: Store Failed, file: C:\Delphi5\Projects\Test_DICOM\Test_DICOM_IMG.dcm:
E: 0006:020e DIMSE Failed to send message
E: Store SCU Failed: 0006:020e DIMSE Failed to send message
I: Aborting Association

storescu 似乎不接受 (0002,0010)传输语法 UID 1.2.840.10008.1.2.4.50 (JPEG Baseline(Process 1)) --> 从 MicroDicom DICOM Viewer 复制。

我在我的 Delphi 代码中尝试了一些 storecu 的网络选项,例如 -xi 或 -xs:

Command := 'cd /d ' + dcmtkPath + '&&storescu -xs ' + IP + ' ' + Port + ' ' + DICOMPath +' +sd -ll info -aec ' +  AET +' -aet ' + edtAETitleMain.Text;

到目前为止,所有选项都不起作用。我错过了什么?

delphi dicom dcmtk
2个回答
0
投票

我刚刚在互联网上的某个地方找到了答案。我必须使用 DCMTK 工具箱中的“dcmdjpeg”来解压缩我想要发送的图像 DICOM 文件,并输入 .dcm 并输出相同的 .dcm。这会将传输语法 JPEG 基线转换为小端显式。


0
投票

您是否尝试过将标志

-xy
(或
--propose-jpeg8
)添加到storescu命令中?

我看到您使用了

-xs
标志,但那是用于无损 jpeg,而您的文件是有损 8 位 jpeg(基线 8 位)。

© www.soinside.com 2019 - 2024. All rights reserved.