There is no ready-to-use function in DCMTK to delete all private data from a DICOM dataset. However, using the API of DcmItem and the fact that all private data has an odd group number, it is pretty easy to do this. Here is some sample code for a corresponding function (not fully tested). It searches the given item recursively for private data and removes it if found:
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"
void removeAllPrivateTags(DcmItem& dset)
{
DcmStack stack;
DcmObject *dobj = NULL;
DcmTagKey tag;
OFCondition status = dset.nextObject(stack, OFTrue);
while (status.good())
{
dobj = stack.top();
tag = dobj->getTag();
if (tag.getGroup() & 1) // private tag ?
{
stack.pop();
delete ((DcmItem *)(stack.top()))->remove(dobj);
}
status = dset.nextObject(stack, OFTrue);
}
}
See documentation of DcmFileFormat and example in dcmdata documentation how to get a DcmDataset (which is also an DcmItem object) from an existing DICOM file.
Note1: In the current DCMTK release, there is also an isPrivate() method which can be used with the above sample code.
Note2:DCMStack类:
this class manages a stack of pointers to DcmObject instances.
The objects pointed to are never touched, e.g. deleted.
分享到:
相关推荐
DICOM DCMTK显示DICOM图像 VC DCMTKDICOM DCMTK显示DICOM图像 VC DCMTKDICOM DCMTK显示DICOM图像 VC DCMTK
用VC++和DCMTK显示DICOM医学图像_solidtdl_Vc_dcmtk_源码.rar.rar
VC 使用DCMTK显示DICOM医学图像的实现教程, 从事VC 编程的程序员大概都知道,DICOM是医学影像存储和传输的国际标准,本教程来自OTI技术论坛专题讨论版,或许这本整理的简短教程对你有所帮助。
基于DCMTK实现DICOM医学影像文件与常见格式的转换
基于DCMTK的DICOM医学图像显示及其调窗方法研究
基于DCMTK的DICOM相关程序编写攻略
这是博文《第一个 DCMTK 程序:显示 DICOM 图像(DCMTK 3.6.4 + Qt 5.14.2 + VS2015)》的源码,详细内容见博客文章 https://blog.csdn.net/blackwoodcliff/article/details/109481195
原创DICOM图像查看器,供新手参考学习。基于DCMTK工具包。
VS2005 用DCMTK 显示DICOM图像,并进行调窗处理,本程序在VS2005上运行通过。程序有注解,方便初学者使用。
适合学习研究DICOM的初学者,本文详细介绍和解释如何使用VC++和DCMTK显示DICOM的医学图像
DICOM是医学影像存储和传输的国际标准,它的制定为不同的医学影像设备和用户提供了统一的接口标准和交互协议。解读 DICOM的医学图像文件格式以及用利用VC++和DCMTK显示方法显示DICOM医学图像
是操作DICOM文件的一个工具包,包含了各种对DICOM文件处理的函数
DCMTK工具下载,实现dicom传输文件等功能,包含各种脚本命令帮助
DCMTK是实现DICOM标准的大型部分的库和应用程序的集合。它包括用于检查、构建和转换DICOM图像文件、处理离线媒体、通过网络连接发送和接收图像以及演示图像存储和工作列表服务器的软件。DCMTK是以ANSI C和C++的混合...
DCMTK是免 费开 源 的针 对DICOM 标 准的开发 包。 解读DICOM文件格 式并解决DICOM 医 学图像 显 示 问题是 医 学图像 处理 的基础, 对 医 学影像技 术的研 究具有重要意 义。 解读 了DICOM文件格式 并介 绍 了调 窗...
DCMTK编译文件说明。DCMTK3.6.0
多帧的DICOM文件,是学习DICOM解析必备文件
基于DCMTK写的dicom头文件修改添加程序。可批量修改或添加头文件信息。 注:之前发过一个版本有bug,有需要的请下载这个版本。