我只有几个16位和8位DICOM文件,我正在使用CharruaSoft sendcu工具将其传输到dcm4che StoreSCP。
对于16位文件,它工作正常,但对于8位简单的2 MB文件,它会生成一个巨大的90 MB文件。
我尝试使用dcm4che本身的StoreSCU发送,并且工作正常。 但是从CharruaSoft SendSCU可以创建巨大的文件。
复制步骤:
--help
中给出的适当参数运行Java的main方法。首先,我认为这可能是CharruaSoft SendSCU问题,但是CharruaSoft SendSCU能够正确地将其发送到其他SCP,例如:mymedicalimages.com。
有人遇到过类似的问题吗?
编辑:
如果我从CharruaSoft sendcu中选择JPEG有损8位压缩,它可以工作并且不会创建90 mb的巨大文件。
但是我无法控制CharruaSoft sendSCU工具。我想要java dcm4che SCP来处理。
修改2: 如果我只是使用正确的语法覆盖传输语法,那也可以,它将dicom文件保存为精确大小的文件。
答案 0 :(得分:2)
我用SendSCU调试了您的问题。
我得到了具有JPEG 2000有损压缩的图像。我与此建立了与SCP的连接,并推送了图像。
以下是关联日志:
Implementation Version: CharruaSoft
Maximum PDU Size: 16384
Called AE Title: remote
Calling AE Title: local
Presentation Contexts: 1
Presentation Context: 1 [Proposed]
Abstract: CT Image Storage
Transfer: Explicit VR Little Endian
Transfer: JPEG 2000 Image Compression
Transfer: Implicit VR Little Endian: Default Transfer Syntax for DICOM
请注意,SendSCU仅提议一个具有三种传输语法的表示上下文(PC)。现在由SCP接受哪个TS。这里的好处是,SCU正在自动检测要发送的图像的原始TS。
对于8位简单的2 MB文件,它会生成一个90 MB的巨大文件。
这是因为您的SCP接受第一传输语法并将ASSOCIATE-ACCEPT
发送回SendSCU。然后,SendSCU(如预期的那样)会即时解压缩图像,从而增加大小。
我尝试使用dcm4che本身的StoreSCU发送,并且运行正常。
我确定StoreSCU必须提出建议:
在上述任何一种情况下,StoreSCU都不会解压缩映像,并且不会出现大小问题。也许您应该获得与上面类似的日志。
CharruaSoft SendSCU能够正确发送到其他SCP,例如:mymedicalimages.com。
如果在一台PC中提议多个TS,则由SCP决定接受哪个TS。由于您提到的SCP托管在互联网上,因此它很可能优先接受有损TS(以提高性能并节省带宽),因此文件大小很小。您应该检查其一致性声明。如果您将其上传到这里,我可能会帮上忙。
如果我从CharruaSoft sendcu中选择JPEG有损8位压缩,它可以工作并且不会创建90 mb的巨大文件。
在这种情况下,以下是关联日志:
Implementation Version: CharruaSoft
Maximum PDU Size: 16384
Called AE Title: remote
Calling AE Title: local
Presentation Contexts: 1
Presentation Context: 1 [Proposed]
Abstract: CT Image Storage
Transfer: JPEG 2000 Image Compression
Transfer: Implicit VR Little Endian: Default Transfer Syntax for DICOM
请注意,JPEG 2000是此处提出的第一个TS。 SCP接受了它,一切正常。
但是我无法控制CharruaSoft sendSCU工具。我想要java dcm4che SCP来处理。
我从未使用过dcm4che工具;在这里我无能为力。您可以查看dcm4che文档,以了解如何配置PC可以接受哪个TS。希望有一个设置/开关可以处理该行为。如果您想通过SCP即时处理此问题,这是您唯一的方法。
其他选择是使用-t
开关进行离线TS转换,如here所述。
-t,--transfer-syntax <uid>
将源代码转换为指定的传输语法。默认情况下,使用Explicit VR Little Endian