标题说明了一切。 dcmtk工具包(http://support.dcmtk.org/docs/dcm2pnm.html)的dcm2pnm(http://support.dcmtk.org/docs/dcmj2pnm.html),dcmj2pnm(http://support.dcmtk.org/docs/dcml2pnm.html)和dcml2pnm(http://support.dcmtk.org/docs/pages.html)命令有什么区别?他们似乎都将dicom图像转换为其他格式。是否有任何特殊情况应该优先于其他情况?
编辑:似乎dcml2pnm支持更多格式。为什么不将它用于所有目的?其他命令的优点是什么?
答案 0 :(得分:4)
我可能是@kritzel_sw所指的DCMTK开发人员。
三个DCMTK命令行工具之间的区别是:支持压缩的DICOM图像和输出格式。
所有这些从源代码包中可能比从二进制包更明显,但在上面引用的文档中也提到了它(参见"描述"部分)。
如果你问为什么有三种不同的工具(事实上,还有第四种用于JPEG-2000支持,但不是公共DCMTK的一部分),我的答案是:这主要是为了历史原因以及为了使各种DCMTK模块之间的依赖关系尽可能简单。 此外,我们将命令行工具视为底层C ++类库的一种示例应用程序。因此,如果您需要一个支持DCMTK中所有图像压缩方案的工具,那么编写这样的工具应该很容易。
答案 1 :(得分:1)
好问题。其中一个dcmtk开发人员有时会在这里发帖,也许你很幸运能得到比我更好的答案。
dcmj2pnm将JPEG编解码器添加到dcm2pnm功能中。因此,它能够处理JPEG压缩的DICOM数据并产生JPEG输出图像。所以它是dcm2pnm功能的超集。 我认为这是因为dcmtk提供了不同的编译选项,允许包含/排除libjpeg。只是将工具包的选项反映到随附的命令行工具中。当您从选项-h
开始时,由文件格式列表确认对于dcml2pnm,我不确定,但这是一个很好的猜测:与JPEG相同,但包括JPEG-LS编码器,这是dcmtk的另一个可选第三方工具包。