DICOM医学图像处理:开源库mDCM与DCMTK的比较分析(一),JPEG无损压缩DCM图像

背景介绍:

最近项目需求,需要使用C#进行最新的UI和相关DICOM3.0医学图像模块的开发。在C++语言下,我使用的是应用最广泛的DCMTK开源库,在本专栏的起初阶段的大多数博文都是对DCMTK开源库的介绍和学习。目前由于项目需要,现开始对mDCM开源库继续学习分析,因此本专栏接下来的文章会大多以mDCM开源库为例进行医学图像的讲解,DCMTK由于是C++语言开发的,所以作为我学习和剖析mDCM开源库的原始依据,我们并未放弃对DCMTK开源库的学习,而是通过更加仔细的研读和分析DCMTK的C++源码,从而更好的切更迅速的切换到C#语言环境下的医学图像处理。

DCMTK、mDCM(fo-dicom)的关系:

DCMTK的官网上有详细的说明文档,对该开源库的各个类,以及类之间的依赖关系进行了清晰的阐述。是学习DICOM3.0医学最新标准不可或缺的资源。其官网网址是:http://www.dcmtk.org/,活跃的开发者论坛地址是:http://forum.dcmtk.org/index.php

mDCM目前了解是从DCMTK开源库转过来的,或者说是该开源项目的另一个分支,是对用C#语言对C++版本的医学图像开源库的再次组织和封装,其项目托管在GitHub上的官方网址是:https://github.com/ignacioinnovo/mdcm。此处就需要提到fo-dicom了,该开源库是mDCM的升级版本,里面增加了几大特性,详情可参见GitHub网址:https://github.com/fo-dicom/fo-dicom

大致上这三者的关系就是如此,所以更说明了我们依然要以DCMTK开源库为依据,来快速学习和剖析mDCM(fo-dicom)开源库,要很好的借助于DCMTK开源库丰富而详细的说明文档,以及活跃的开发者论坛。下面我们就通过对DCM图像进行无损压缩这一任务来对比学习一下mDCM与DCMTK开源库的不同。

DCMTK与mDCM对DCM图像进行JPEG无损压缩的对比学习:

DCMTK的说明文档中对于dcmjpeg包的介绍中,就直接给出了一个利用JPEG无损压缩的实例。具体代码如下:

/*****************************************************************************
dcmjpeg程序包 
dcmjpeg提供了一个压缩/解压缩库以及可用工具。该模块包含一些类,可将DICOM图像对象在非压缩和JPEG压缩表示(传输协议)之间转换。无失真和有失真JPEG处理都被支持。这个模块实现了一族codec(编码解码器,由DcmCodec类派生而来),可以将这些codec在codec list中注册,codec list是由dcmdata模块保存的。
主要接口类: 
--DJEncoderRegistration: 一个singleton(孤立)类,为所有支持的JPEG处理注册编码器。在djencode.h中定义。 
--DJDecoderRegistration: 一个singleton(孤立)类,为所有支持的JPEG处理注册解码器。在djdecode.h中定义。 
--DJCodecEncoder: JPEG编码器的一个抽象codec类。This abstract class contains most of the application logic needed for a dcmdata codec object that implements a JPEG encoder using the DJEncoder interface to the underlying JPEG implementation. This class only supports compression, it neither implements decoding nor transcoding. 在djcodece.h中定义。 
--DJCodecDecoder: JPEG解码器的一个抽象codec类。This abstract class contains most of the application logic needed for a dcmdata codec object that implements a JPEG decoder using the DJDecoder interface to the underlying JPEG implementation. This class only supports decompression, it neither implements encoding nor transcoding. 
工具: 
dcmcjpeg: Encode DICOM file to JPEG transfer syntax 
dcmdjpeg: Decode JPEG-compressed DICOM file 
dcmj2pnm: Convert DICOM images to PGM, PPM, BMP, TIFF or JPEG 
dcmmkdir: Create a DICOMDIR file 
举例: 
--用无失真JPEG压缩一幅DICOM图像文件。 
********
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
### 回答1: DICOM,全称为数字医学影像与通信,是一种用于存储、传输和处理医学影像的标准文件格式。DICOM文件通常以.dcm作为文件扩展名。 DICOM 包括了一系列标准,以实现医学影像的无损压缩、安全传输和兼容性。它使用了特殊的文件结构和数据格式,以便于多种不同的设备和软件之间的交互和共享。 DICOM文件是包含了医学图像和与之相关的患者信息的容器。这些图像可以是X光片、CT扫描、MRI影像、超声波图像等。除了图像本身,DICOM文件还可以包含其他的数据,如患者姓名、医院ID、扫描日期、身体部位等。 DICOM文件具有良好的跨平台兼容性。不同厂商的医疗设备和软件都可以识别和处理DICOM文件。这使得医生和医疗专业人员能够在不同的设备上读取和解读DICOM图像,进行准确的诊断和治疗。 医学图像DICOM .dcm的应用十分广泛。临床医生使用DICOM图像来诊断疾病和指导手术。医学研究人员可以使用DICOM图像来进行科学研究和发表论文。医学教育中,DICOM图像也被用于教学和培训。此外,DICOM图像还可以与电子病历系统集成,方便医生在查看患者病历时同时查看相关的医学影像。 综上所述,医学图像DICOM .dcm是一种用于存储、传输和处理医学影像的标准文件格式。它具有跨平台兼容性和丰富的应用场景,在医学领域发挥着重要的作用。 ### 回答2: 医学图像包(DICOM)是一种用于存储、传输和处理医学图像和相关数据的文件格式。DICOM文件以.dcm作为文件扩展名,并采用特定的数据结构和格式。DICOM文件包含了大量的信息,其中包括图像本身、患者信息、图像采集设备信息、图像处理参数等。 医学图像包的使用可以在医学影像学领域中进行图像的交流和共享。不同的医学设备可以生成DICOM格式的图像,包括CT扫描、MRI、X射线、超声等。这些图像可以通过DICOM格式在不同的设备和软件平台之间进行传输,保持数据的完整性和一致性。 DICOM文件具有很强的可扩展性,允许医学图像与其他相关数据进行关联。例如,可以将DICOM文件与患者的临床记录、病历资料等相关信息进行关联,方便医生进行全面的诊断和治疗决策。 另外,DICOM文件还支持图像的后处理和分析。医学软件可以读取DICOM文件,并进行图像处理、分割、重建等操作,帮助医生更好地理解和分析图像。这些分析结果可以帮助医生制定更准确的诊断和治疗方案。 总之,医学图像包(DICOM)是一种用于存储、传输和处理医学图像和相关信息的文件格式。它的应用可以方便医学影像的共享、交流,帮助医生进行全面的诊断和治疗决策,并支持图像的后处理和分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zssure

己欲立而立人,己欲达而达人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值