dcm2pnm,dcmj2pnm和dcml2pnm之间的差异 [英] Difference between dcm2pnm, dcmj2pnm and dcml2pnm

查看:185
本文介绍了dcm2pnm,dcmj2pnm和dcml2pnm之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

标题说明了一切.dcm2pnm( http://support.dcmtk.org/docs/dcm2pnm.html),dcmj2pnm( http://support.dcmtk.org/docs/dcmj2pnm.html )和dcml2pnm( http://support.dcmtk.org/docs/dcml2pnm.html )dcmtk工具包(> http://support.dcmtk.org/docs/pages.html )?它们似乎都将dicom图像转换为其他格式.在某些特殊情况下,应优先考虑其他人吗?

The title says it all. What is the difference between dcm2pnm (http://support.dcmtk.org/docs/dcm2pnm.html), dcmj2pnm (http://support.dcmtk.org/docs/dcmj2pnm.html) and dcml2pnm (http://support.dcmtk.org/docs/dcml2pnm.html) commands of dcmtk toolkit (http://support.dcmtk.org/docs/pages.html)? They all seem to convert dicom images to other formats. Are there any special situations where one should be preferred over others?

似乎dcml2pnm支持更多格式.为什么不将其用于所有目的?其他命令的优点是什么?

It seems dcml2pnm supports more formats. Why not use that for all purposes? What are the advantages of other commands?

推荐答案

我是DCMTK开发人员.

I am the DCMTK developer.

三个DCMTK命令行工具之间的区别是:支持压缩的DICOM图像和输出格式.

The difference between the three DCMTK command line tools is: support for compressed DICOM images and output formats.

  • dcm2pnm 是20多年前开发的原始工具,其最初仅支持图像格式PNM/PGM用于输出(这也是为什么将该工具称为"dcm2pnm"的原因,并且而非"dcm2img"等).而且,由于当时DCMTK不支持任何封装的传输语法(即压缩),因此只能读取未压缩的DICOM图像.
  • dcmj2pnm 位于DCMTK的子模块"dcmjpeg"中,并增加了对JPEG压缩的DICOM图像(基于IJG库)以及JPEG图像格式输出的支持.
  • dcml2pnm 位于DCMTK的子模块"dcmjpls"中,并增加了对JPEG-LS压缩的DICOM图像的支持(基于CharLS库).它不支持常规的JPEG.
  • dcm2pnm was the original tool that has been developed more than 20 years ago and which originally only supported the image format PNM/PGM for output (that's also why the tool is called "dcm2pnm" and not "dcm2img" or the like). And, because at that time the DCMTK did not support any encapsulated transfer syntaxes (i.e. compression), only uncompressed DICOM images can be read.
  • dcmj2pnm is located in DCMTK's submodule "dcmjpeg" and adds support for JPEG-compressed DICOM images (based on the IJG library) as well as the JPEG image format for output.
  • dcml2pnm is located in DCMTK's submodule "dcmjpls" and adds support for JPEG-LS-compressed DICOM images (based on the CharLS library). It does not support conventional JPEG.

在源代码包中,所有这些可能比在二进制包中更明显,但是在上面引用的文档中也有提及(请参阅描述"部分).

All this is probably more obvious from the source code package than from the binary package but it is also mentioned in the above referenced documentation (see "Description" section).

如果您问为什么有三种不同的工具(实际上,还有第四种支持JPEG-2000,但不属于公共DCMTK),我的回答是:这主要是出于历史原因也是出于尽量简化各种DCMTK模块之间的依赖关系的原因.此外,我们将命令行工具视为基础C ++类库的一种示例应用程序.因此,如果您需要一个支持DCMTK中所有可用图像压缩方案的工具,那么编写这样的工具应该很容易.

If you'd ask why there are three different tools (in fact, there is also a fourth one for JPEG-2000 support but that not part of the public DCMTK), my answer would be: this is mainly for historical reasons but also for reason of keeping dependencies between the various DCMTK modules as simple as possible. Furthermore, we consider the command line tools as a kind of sample applications of the underlying C++ class library. So, if you'd need a tool that supports all image compression schemes available in the DCMTK, it should be easy to write such a tool.

这篇关于dcm2pnm,dcmj2pnm和dcml2pnm之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆