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.
分享到:
相关推荐
DCMTK是一个功能强大的C++工具包,它提供了处理DICOM数据的各类API,包括读取、写入、转换和通信等功能。通过这个查看器,开发者可以了解如何利用DCMTK解析DICOM头信息,以及如何将这些信息与图像数据结合,以在用户...
DCMTK(DICOM Toolkit)是一个开源软件库,它提供了处理DICOM数据所需的工具和API,使得开发者能够创建与DICOM兼容的应用程序。本压缩包“dicom.rar”包含了DCMTK的版本3.6.0,这是一个广泛使用的版本,适用于医疗...
VC 使用DCMTK显示DICOM医学图像的实现教程, 从事VC 编程的程序员大概都知道,DICOM是医学影像存储和传输的国际标准,本教程来自OTI技术论坛专题讨论版,或许这本整理的简短教程对你有所帮助。
3. **解析DICOM文件**:利用DCMTK提供的API函数解析DICOM文件,提取出图像数据。 4. **图像渲染**:将提取到的图像数据转换为可用于显示的格式,如位图(Bitmap),并在界面上渲染出来。 ##### 3. 示例代码 下面...
1. **DICOM解析**:利用DCMTK的`dcmdata`模块读取DICOM文件中的元数据,如患者信息、图像大小、像素数据等。 2. **图像解码**:DCMTK的`dcmimage`模块可以处理图像编码,将原始的像素数据解码为可显示的RGB或灰度...
基于DCMTK的DICOM相关程序编写攻略
- **提取像素数据**:从DICOM数据集中提取像素数据。 - **显示图像**:利用VC++的图形界面功能显示像素数据,形成可视化的医学图像。 ##### 4. 示例代码片段 ```cpp // 假设已经成功编译并链接了DCMTK #include ...
为了使用DCMTK进行DICOM医学图像的显示,开发者首先需要从官方网站下载DCMTK的源代码包和相关支持库,并进行编译。接下来,利用CMake等工具生成工程文件,以便在开发环境中编译DCMTK库。最后,将编译好的库文件复制...
1. **dcmdata**:这是DCMTK的基础模块,负责处理DICOM数据元素和数据集。它包含了解析、验证和创建DICOM数据结构的类,以及用于读写DICOM文件的低级接口。 2. **dcmsr**:此模块专门用于处理DICOM的结构化报告...
在这个“DICOM文件信息修改程序”中,我们聚焦于如何使用DCMTK这一开源工具来操作DICOM文件的元数据。 DCMTK(DICOM Toolkit)是德国工业大学的一个项目,提供了一系列C++库和命令行工具,用于处理DICOM数据。它...
这是博文《第一个 DCMTK 程序:显示 DICOM 图像(DCMTK 3.6.4 + Qt 5.14.2 + VS2015)》的源码,详细内容见博客文章 https://blog.csdn.net/blackwoodcliff/article/details/109481195
DCMTK(DICOM for Medical Applications Toolkit)是一个开源软件库,专门用于处理DICOM(Digital Imaging and Communications in Medicine)标准的数据,这种标准广泛应用于医学成像领域。DICOM格式包含了大量的...
总的来说,DCMTK是一个强大的工具,对于医疗影像开发者和IT专业人员来说,它是理解和操作DICOM数据不可或缺的一部分。通过深入学习和使用DCMTK,你可以更好地集成和管理医疗影像系统,提升医疗数据处理的效率和准确...
DICOM是医学影像存储和传输的国际标准,它的制定为不同的医学影像设备和用户提供了统一的接口标准和交互协议。解读 DICOM的医学图像文件格式以及用利用VC++和DCMTK显示方法显示DICOM医学图像
DCMTK(DICOM Toolkit)是开放源代码的软件库,专为开发和处理遵循DICOM(Digital Imaging and Communications in Medicine)标准的医疗影像数据而设计。DICOM是一种广泛使用的国际标准,它定义了医疗设备之间以及...
在医疗图像处理和分析中,DCMTK是一个不可或缺的工具,因为它提供了一系列的命令行工具和C++类库,方便开发者读取、写入和操作DICOM数据。 **DICOM标准** DICOM标准不仅仅涉及图像格式,还包括元数据,如患者信息...
DCMTK是实现DICOM标准的大型部分的库和应用程序的集合。它包括用于检查、构建和转换DICOM图像文件、处理离线媒体、通过网络连接发送和接收图像以及演示图像存储和工作列表服务器的软件。DCMTK是以ANSI C和C++的混合...