我正在尝试使用 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;
到目前为止,所有选项都不起作用。我错过了什么?
我刚刚在互联网上的某个地方找到了答案。我必须使用 DCMTK 工具箱中的“dcmdjpeg”来解压缩我想要发送的图像 DICOM 文件,并输入 .dcm 并输出相同的 .dcm。这会将传输语法 JPEG 基线转换为小端显式。
您是否尝试过将标志
-xy
(或--propose-jpeg8
)添加到storescu命令中?
我看到您使用了
-xs
标志,但那是用于无损 jpeg,而您的文件是有损 8 位 jpeg(基线 8 位)。