5. DICOM图像层级分类-DCMTK-压缩图像PixelData读取

本文介绍了如何使用DCMTK处理压缩的DICOM图像,包括JPEG、JPEG-LS等格式。当遇到JPEG 2000压缩格式时,由于DCMTK的限制,推荐使用GDCM进行解压缩后再用DCMTK读取。文中还提供了支持有损和无损解压缩的代码示例。
摘要由CSDN通过智能技术生成

上篇文章讲解了dcmtk读取元素方式,但有局限性,只满足如下情况:

  1. 除PixelData外的元素
  2. 非压缩的PixelData

  如果dicom图像是压缩格式,则string pixelData = dcmParse.GetElementValue(DCM_PixelData);会报错,需要先将PixelData解压再读取。
  dcmtk提供两种开源解压模块,每种模块均支持无损压缩和有损压缩。
  dcmjpeg是jpeg压缩格式的图像编解码器,dcmjpls是jpeg-ls压缩格式的图像编解码器。
在这里插入图片描述
DJDecoderRegistration是dcmjpeg模块的解压注册类
DJLSDecoderRegistration是jpeg-ls模块的解压注册类
DcmRLEDecoderRegistration是dcmdata模块的解压注册类

void DcmParse::UnCompress(string filename)
{
   
	string transferSyntax = GetElementValue(DCM_TransferSyntaxUID);

	if (transferSyntax == UID_LittleEndianImplicitTransferSyntax ||
		transferSyntax == UID_LittleEndianExplicitTransferSyntax ||
		transferSyntax == UID_BigEndianExplicitTransferSyntax)
		return;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DCMtk是一个开源的DICOM工具包,可以用来读取和处理DICOM图像。下面是使用DCMtk读取DICOM序列的步骤: 1. 安装DCMtk工具包 可以从DCMtk官网上下载DCMtk工具包,并按照官方文档进行安装。 2. 打开命令行窗口 在Windows系统中,可以按下“Win+R”键组合打开运行窗口,输入“cmd”并回车,打开命令行窗口。 3. 进入DICOM序列所在的目录 使用“cd”命令进入DICOM序列所在的目录。例如,如果DICOM序列存储在“C:\DICOM\MyDICOM”目录下,可以使用以下命令进入该目录: cd C:\DICOM\MyDICOM 4. 使用DCMtk命令行工具dcmsort排序DICOM序列 dcmsort命令可以对DICOM序列进行排序,将序列中的文件按照时间顺序排列。可以使用以下命令对DICOM序列进行排序: dcmsort * 5. 使用DCMtk命令行工具dcmdump读取DICOM序列 dcmdump命令可以读取DICOM序列中的文件,并将文件内容输出到命令行窗口。可以使用以下命令读取DICOM序列中的第一个文件: dcmdump -M +sd C:\DICOM\MyDICOM\0001.dcm 其中,“-M +sd”参数表示输出文件的元数据信息和像素数据,文件路径“C:\DICOM\MyDICOM\0001.dcm”是需要读取DICOM文件路径。 6. 使用DCMtk命令行工具dcmdjpeg将DICOM图像转换为JPEG格式 dcmdjpeg命令可以将DICOM图像转换为JPEG格式,并保存到指定路径。可以使用以下命令将DICOM序列中的第一个文件转换为JPEG格式: dcmdjpeg C:\DICOM\MyDICOM\0001.dcm C:\DICOM\MyDICOM\0001.jpg 其中,“C:\DICOM\MyDICOM\0001.dcm”是需要转换的DICOM文件路径,“C:\DICOM\MyDICOM\0001.jpg”是转换后的JPEG文件路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DICOM医学影像

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值